]> git.saurik.com Git - bison.git/blobdiff - src/getargs.c
maint: update gnu-web-doc-update.
[bison.git] / src / getargs.c
index 01cf8109e7b907b55ebb86586125f4c9fe21e964..599cbbad3e2dd7d35cfdf77c7ba8c0f3a5238e26 100644 (file)
@@ -40,6 +40,8 @@
 # undef HACK_FOR___GNU_LIBRARY___PROTOTYPE
 #endif
 
 # undef HACK_FOR___GNU_LIBRARY___PROTOTYPE
 #endif
 
+#include <progname.h>
+
 #include "complain.h"
 #include "files.h"
 #include "getargs.h"
 #include "complain.h"
 #include "files.h"
 #include "getargs.h"
@@ -79,8 +81,6 @@ int language_prio = default_prio;
 struct bison_language const *language = &valid_languages[0];
 const char *include = NULL;
 
 struct bison_language const *language = &valid_languages[0];
 const char *include = NULL;
 
-char *program_name;
-
 
 /** Decode an option's set of keys.
  *
 
 /** Decode an option's set of keys.
  *
@@ -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\
   -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\
   -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);
   -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)
         /* 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)
         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 'h':
@@ -649,7 +656,10 @@ getargs (int argc, char *argv[])
       case 'x':
        xml_flag = true;
        if (optarg)
       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':
        break;
 
       case 'y':
@@ -669,6 +679,7 @@ getargs (int argc, char *argv[])
        exit (EXIT_SUCCESS);
 
       case REPORT_FILE_OPTION:
        exit (EXIT_SUCCESS);
 
       case REPORT_FILE_OPTION:
+        free (spec_verbose_file);
        spec_verbose_file = xstrdup (AS_FILE_NAME (optarg));
        break;
 
        spec_verbose_file = xstrdup (AS_FILE_NAME (optarg));
        break;