X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/4aa9d1ff9ca9b838fe02a9bfe5ae4b0f935e5451..dd31e17d7e415d3be8fc603f752f7e975297bcc2:/src/getargs.c diff --git a/src/getargs.c b/src/getargs.c index 5fa3c452..06e6e972 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -26,7 +26,6 @@ #include #include #include -#include /* Hack to get to declare getopt with a prototype. */ #if lint && ! defined __GNU_LIBRARY__ @@ -41,10 +40,13 @@ # undef HACK_FOR___GNU_LIBRARY___PROTOTYPE #endif +#include + #include "complain.h" #include "files.h" #include "getargs.h" #include "muscle-tab.h" +#include "quote.h" #include "uniqstr.h" bool defines_flag; @@ -75,8 +77,6 @@ int language_prio = default_prio; struct bison_language const *language = &valid_languages[0]; const char *include = NULL; -char *program_name; - /** Decode an option's set of keys. * @@ -102,7 +102,7 @@ flags_argmatch (const char *option, args = strtok (args, ","); while (args) { - int no = strncmp (args, "no-", 3) == 0 ? 3 : 0; + int no = STRPREFIX_LIT ("no-", args) ? 3 : 0; int value = XARGMATCH (option, args + no, keys, values); if (value == 0) { @@ -421,14 +421,14 @@ language_argmatch (char const *arg, int prio, location loc) language = &valid_languages[i]; return; } - msg = _("invalid language '%s'"); + msg = _("%s: invalid language"); } else if (language_prio == prio) msg = _("multiple language declarations are invalid"); else return; - complain_at (loc, msg, arg); + complain_at (loc, msg, quotearg_colon (arg)); } /*----------------------. @@ -679,9 +679,9 @@ getargs (int argc, char *argv[]) if (argc - optind != 1) { if (argc - optind < 1) - error (0, 0, _("missing operand after '%s'"), argv[argc - 1]); + error (0, 0, _("%s: missing operand"), quotearg_colon (argv[argc - 1])); else - error (0, 0, _("extra operand '%s'"), argv[optind + 1]); + error (0, 0, _("extra operand %s"), quote (argv[optind + 1])); usage (EXIT_FAILURE); }