]> git.saurik.com Git - bison.git/blobdiff - src/getargs.c
maint: don't use mbsr?chr.
[bison.git] / src / getargs.c
index 5e04ab0fcbcad77653435790c0a7e75b47ae4eb1..82e4e356064263a08274f90e6f4488d002994860 100644 (file)
@@ -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)
             {
@@ -559,7 +559,7 @@ getargs (int argc, char *argv[])
       case 'F': /* -FNAME[=VALUE]. */
         {
           char* name = optarg;
-          char* value = mbschr (optarg, '=');
+          char* value = strchr (optarg, '=');
           if (value)
             *value++ = 0;
           muscle_percent_define_insert (name, command_line_location (),
@@ -603,13 +603,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':
@@ -648,7 +654,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':
@@ -665,10 +674,11 @@ getargs (int argc, char *argv[])
         exit (EXIT_SUCCESS);
 
       case PRINT_DATADIR_OPTION:
-        printf ("%s\n", compute_pkgdatadir ());
+        printf ("%s\n", pkgdatadir ());
         exit (EXIT_SUCCESS);
 
       case REPORT_FILE_OPTION:
+        free (spec_verbose_file);
         spec_verbose_file = xstrdup (AS_FILE_NAME (optarg));
         break;