2016-05-03 12:41:17 +08:00
|
|
|
// Print help message for the specified command.
|
2016-05-19 06:30:21 +08:00
|
|
|
#include "config.h" // IWYU pragma: keep
|
|
|
|
|
2006-11-18 00:24:38 +08:00
|
|
|
#include <stdio.h>
|
2016-05-03 12:41:17 +08:00
|
|
|
#include <stdlib.h>
|
2019-03-13 06:07:07 +08:00
|
|
|
#include <cstring>
|
2006-11-18 00:24:38 +08:00
|
|
|
|
2016-05-03 12:41:17 +08:00
|
|
|
#include "common.h"
|
2006-11-18 00:24:38 +08:00
|
|
|
#include "print_help.h"
|
|
|
|
|
|
|
|
#define CMD_LEN 1024
|
|
|
|
|
2009-02-23 04:28:52 +08:00
|
|
|
#define HELP_ERR "Could not show help message\n"
|
|
|
|
|
2016-05-03 12:41:17 +08:00
|
|
|
void print_help(const char *c, int fd) {
|
|
|
|
char cmd[CMD_LEN];
|
2012-11-19 08:30:30 +08:00
|
|
|
int printed = snprintf(cmd, CMD_LEN, "fish -c '__fish_print_help %s >&%d'", c, fd);
|
2012-11-18 18:23:22 +08:00
|
|
|
|
2016-10-23 02:21:13 +08:00
|
|
|
if (printed < CMD_LEN && system(cmd) == -1) {
|
2019-03-13 06:07:07 +08:00
|
|
|
write_loop(2, HELP_ERR, std::strlen(HELP_ERR));
|
2012-11-19 08:30:30 +08:00
|
|
|
}
|
2006-11-18 00:24:38 +08:00
|
|
|
}
|