X-Git-Url: https://jxself.org/git/?p=linux-libre-firmware.git;a=blobdiff_plain;f=carl9170fw%2Fconfig%2Fconf.c;h=6be614318782bfc3c2e3525a8ebc5ad94d775f70;hp=e308f5bf09a546b85017eea5e551ddbc8ceecc7b;hb=4d82a54061be75c0bf489026aad55821bc9c61c7;hpb=1ba1a88647bfe113c885f985d6e383790dec2a1f diff --git a/carl9170fw/config/conf.c b/carl9170fw/config/conf.c index e308f5b..6be6143 100644 --- a/carl9170fw/config/conf.c +++ b/carl9170fw/config/conf.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -39,7 +40,7 @@ static int indent = 1; static int tty_stdio; static int valid_stdin = 1; static int conf_cnt; -static char line[128]; +static char line[PATH_MAX]; static struct menu *rootEntry; static void print_help(struct menu *menu) @@ -106,7 +107,7 @@ static int conf_askvalue(struct symbol *sym, const char *def) /* fall through */ case oldaskconfig: fflush(stdout); - xfgets(line, 128, stdin); + xfgets(line, sizeof(line), stdin); if (!tty_stdio) printf("\n"); return 1; @@ -307,7 +308,7 @@ static int conf_choice(struct menu *menu) /* fall through */ case oldaskconfig: fflush(stdout); - xfgets(line, 128, stdin); + xfgets(line, sizeof(line), stdin); strip(line); if (line[0] == '?') { print_help(menu); @@ -459,7 +460,7 @@ static struct option long_opts[] = { static void conf_usage(const char *progname) { - printf("Usage: %s [option] \n", progname); + printf("Usage: %s [-s] [option] \n", progname); printf("[option] is _one_ of the following:\n"); printf(" --listnewconfig List new options\n"); printf(" --askconfig Start a new configuration using a line-oriented program\n"); @@ -488,7 +489,11 @@ int main(int ac, char **av) tty_stdio = isatty(0) && isatty(1) && isatty(2); - while ((opt = getopt_long(ac, av, "", long_opts, NULL)) != -1) { + while ((opt = getopt_long(ac, av, "s", long_opts, NULL)) != -1) { + if (opt == 's') { + conf_set_message_callback(NULL); + continue; + } input_mode = (enum input_mode)opt; switch (opt) { case defconfig: @@ -644,7 +649,7 @@ int main(int ac, char **av) if (input_mode == savedefconfig) { if (conf_write_defconfig(defconfig_file)) { fprintf(stderr, _("n*** Error while saving defconfig to: %s\n\n"), - defconfig_file); + defconfig_file); return 1; } } else if (input_mode != listnewconfig) {