#include "quote.h"
#include "uniqstr.h"
-bool debug_flag;
+bool debug;
bool defines_flag;
bool graph_flag;
bool xml_flag;
-S, --skeleton=FILE specify the skeleton to use\n\
-t, --debug instrument the parser for debugging\n\
--locations enable location support\n\
- -D, --define=NAME[=VALUE] similar to `%define NAME \"VALUE\"'\n\
- -F, --force-define=NAME[=VALUE] override `%define NAME \"VALUE\"'\n\
+ -D, --define=NAME[=VALUE] similar to '%define NAME \"VALUE\"'\n\
+ -F, --force-define=NAME[=VALUE] override '%define NAME \"VALUE\"'\n\
-p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n\
- -l, --no-lines don't generate `#line' directives\n\
+ deprecated by '-Dapi.prefix=PREFIX'\n\
+ -l, --no-lines don't generate '#line' directives\n\
-k, --token-table include a table of token names\n\
\n\
"), stdout);
`none' disable the report\n\
"), stdout);
- printf (_("\nReport bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+ putc ('\n', stdout);
+ printf (_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+ printf (_("%s home page: <%s>.\n"), PACKAGE_NAME, PACKAGE_URL);
+ fputs (_("General help using GNU software: "
+ "<http://www.gnu.org/gethelp/>.\n"),
+ stdout);
+ /* Don't output this redundant message for English locales.
+ Note we still output for 'C' so that it gets included in the
+ man page. */
+ const char *lc_messages = setlocale (LC_MESSAGES, NULL);
+ if (lc_messages && strcmp (lc_messages, "en_"))
+ /* TRANSLATORS: Replace LANG_CODE in this URL with your language
+ code <http://translationproject.org/team/LANG_CODE.html> to
+ form one of the URLs at http://translationproject.org/team/.
+ Otherwise, replace the entire URL with your translation team's
+ email address. */
+ fputs (_("Report translation bugs to "
+ "<http://translationproject.org/team/>.\n"), stdout);
+ fputs (_("For complete documentation, run: info bison.\n"), stdout);
}
exit (status);
/* Here, the -d and --defines options are differentiated. */
defines_flag = true;
if (optarg)
- spec_defines_file = xstrdup (AS_FILE_NAME (optarg));
+ {
+ free (spec_defines_file);
+ spec_defines_file = xstrdup (AS_FILE_NAME (optarg));
+ }
break;
case 'g':
graph_flag = true;
if (optarg)
- spec_graph_file = xstrdup (AS_FILE_NAME (optarg));
+ {
+ free (spec_graph_file);
+ spec_graph_file = xstrdup (AS_FILE_NAME (optarg));
+ }
break;
case 'h':
break;
case 't':
- debug_flag = true;
+ debug = true;
break;
case 'v':
case 'x':
xml_flag = true;
if (optarg)
- spec_xml_file = xstrdup (AS_FILE_NAME (optarg));
+ {
+ free (spec_xml_file);
+ spec_xml_file = xstrdup (AS_FILE_NAME (optarg));
+ }
break;
case 'y':
exit (EXIT_SUCCESS);
case REPORT_FILE_OPTION:
+ free (spec_verbose_file);
spec_verbose_file = xstrdup (AS_FILE_NAME (optarg));
break;