]> git.saurik.com Git - bison.git/commitdiff
* src/options.h, src/options.c (create_long_option_table): Rename
authorAkim Demaille <akim@epita.fr>
Sat, 29 Dec 2001 14:21:06 +0000 (14:21 +0000)
committerAkim Demaille <akim@epita.fr>
Sat, 29 Dec 2001 14:21:06 +0000 (14:21 +0000)
as...
(long_option_table_new): this, with a clearer prototype.
(percent_table): Remove, unused,
* src/getargs.c (getargs): Adjust.

ChangeLog
src/getargs.c
src/options.c
src/options.h
src/reduce.c

index 9134808555fd86567f701b555dc7265d792ce63c..94275232f377f66249ed88a0947bd9000895dd3a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2001-12-29  Akim Demaille  <akim@epita.fr>
+
+       * src/options.h, src/options.c (create_long_option_table): Rename
+       as...
+       (long_option_table_new): this, with a clearer prototype.
+       (percent_table): Remove, unused,
+       * src/getargs.c (getargs): Adjust.
+
+       
 2001-12-29  Akim Demaille  <akim@epita.fr>
 
        * src/LR0.c, src/conflicts.c, src/lalr.c, src/lalr.h, src/output.c
index eee6314f0aff610a62e5c0d57441b487503624b6..ed76626aed8de4e7a6811ee88c2aea5c3b51ac0c 100644 (file)
@@ -135,7 +135,7 @@ getargs (int argc, char *argv[])
 {
   int c;
 
-  create_long_option_table ();
+  struct option *longopts = long_option_table_new ();
   while ((c = getopt_long (argc, argv, shortopts, longopts, NULL)) != EOF)
     switch (c)
       {
@@ -217,7 +217,8 @@ getargs (int argc, char *argv[])
        exit (1);
       }
 
-  XFREE (longopts);
+  free (longopts);
+
   if (optind == argc)
     {
       fprintf (stderr, _("%s: no grammar file given\n"), program_name);
index 2f457b6ba28fa000286ff939fa6a7f8e4bf4c3ab..32785975e892c3822bf6ce8b675c9362e57e97df 100644 (file)
 /* Shorts options.  */
 const char *shortopts = "yvegdhrltknVo:b:p:S:";
 
-/* Long options.  */
-struct option *longopts = NULL;
-
-struct percent_table_struct *percent_table = NULL;
-
 /* A CLI option only.
    Arguments is the policy: `no', `optional', `required'.
    OptionChar is the value given to the Var if the latter is specified.  */
@@ -135,13 +130,16 @@ const struct option_table_struct option_table[] =
   {0, 0, 0, 0, 0, 0}
 };
 
+
 /*--------------------------------------------------------.
 | Create the longoptions structure from the option_table, |
 | for the getopt file.                                   |
 `--------------------------------------------------------*/
-void
-create_long_option_table ()
+
+struct option *
+long_option_table_new ()
 {
+  struct option *res = NULL;
   int i = 0;
   int j = 0;
   int number_options;
@@ -151,26 +149,28 @@ create_long_option_table ()
        || option_table[i].access == opt_both)
       ++number_options;
 
-  longopts = XMALLOC (struct option, number_options + 1);
+  res = XMALLOC (struct option, number_options + 1);
   for (i = 0; option_table[i].name; i++)
     if (option_table[i].access == opt_cmd_line
        || option_table[i].access == opt_both)
       {
        /* Copy the struct information in the longoptions.  */
-       longopts[j].name = option_table[i].name;
-       longopts[j].has_arg = option_table[i].has_arg;
+       res[j].name = option_table[i].name;
+       res[j].has_arg = option_table[i].has_arg;
        /* When an options is declared having 'optional_argument' and
           a flag is specified to be set, the option is skipped on
           command line. So we never use a flag when a command line
           option is declared 'optional_argument.  */
-       if (longopts[j].has_arg == optional_argument)
-         longopts[j].flag = NULL;
+       if (res[j].has_arg == optional_argument)
+         res[j].flag = NULL;
        else
-         longopts[j].flag = option_table[i].set_flag;
-       longopts[j++].val = option_table[i].val;
+         res[j].flag = option_table[i].set_flag;
+       res[j++].val = option_table[i].val;
       }
-  longopts[number_options].name = NULL;
-  longopts[number_options].has_arg = 0;
-  longopts[number_options].flag = NULL;
-  longopts[number_options].val = 0;
+  res[number_options].name = NULL;
+  res[number_options].has_arg = 0;
+  res[number_options].flag = NULL;
+  res[number_options].val = 0;
+
+  return res;
 }
index f62222dfaae4408a5e28b15cd60fb41d6b6f496d..275301023b807b1142d5cd8a7bc099eccfe64346 100644 (file)
@@ -51,12 +51,11 @@ struct option_table_struct
 };
 
 extern const char *shortopts;
-extern struct option *longopts;
 
 /* Table which contain all options.  */
 extern const struct option_table_struct option_table[];
 
 /* Set the longopts variable from option_table.  */
-void create_long_option_table PARAMS ((void));
+struct option *long_option_table_new PARAMS ((void));
 
 #endif /* !OPTIONS_H_ */
index c4a2bd1c713458e69204ae2f8e33e82912ffd824..0beff91a90f76abd4bc196ecdba7796302cd0196 100644 (file)
@@ -337,7 +337,6 @@ static void
 nonterminals_reduce (void)
 {
   int i, n;
-  rule r;
 
   /* Map the nonterminals to their new index: useful first, useless
      afterwards.  Kept for later report.  */