X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/a055b2f07dbbc37cf15b5d8cfb8b0df226d3f65e..32ae07efde7db078d48e95f29778e2227b0cf01b:/src/getargs.c diff --git a/src/getargs.c b/src/getargs.c index 1185e409..599cbbad 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -311,10 +311,11 @@ Parser:\n\ -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); @@ -606,13 +607,19 @@ getargs (int argc, char *argv[]) /* 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': @@ -649,7 +656,10 @@ getargs (int argc, char *argv[]) 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': @@ -669,6 +679,7 @@ getargs (int argc, char *argv[]) exit (EXIT_SUCCESS); case REPORT_FILE_OPTION: + free (spec_verbose_file); spec_verbose_file = xstrdup (AS_FILE_NAME (optarg)); break;