]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Refactor.
authorBruno Haible <bruno@clisp.org>
Tue, 11 Feb 2025 08:49:08 +0000 (09:49 +0100)
committerBruno Haible <bruno@clisp.org>
Tue, 11 Feb 2025 10:39:58 +0000 (11:39 +0100)
* gettext-tools/src/format-ruby.c (format_parse): Use two different variables
named_allocated, numbered_allocated, instead of a single variable (assuming that
INVALID_MIXES_NAMED_UNNAMED is called when it should).

gettext-tools/src/format-ruby.c

index e24db7402e1b13de9439b07d72f70671d3997248..88a5d8a755d8cd4322a4bf2d954bd26536c69629 100644 (file)
@@ -158,7 +158,8 @@ format_parse (const char *format, bool translated, char *fdi,
   const char *const format_start = format;
   struct spec spec;
   unsigned int unnumbered_arg_count;
-  unsigned int allocated;
+  unsigned int named_allocated;
+  unsigned int numbered_allocated;
   struct spec *result;
 
   spec.directives = 0;
@@ -167,7 +168,8 @@ format_parse (const char *format, bool translated, char *fdi,
   spec.named = NULL;
   spec.numbered = NULL;
   unnumbered_arg_count = 0;
-  allocated = 0;
+  named_allocated = 0;
+  numbered_allocated = 0;
 
   for (; *format != '\0';)
     /* Invariant: spec.numbered_arg_count == 0 || unnumbered_arg_count == 0.  */
@@ -602,10 +604,10 @@ format_parse (const char *format, bool translated, char *fdi,
             /* Register the argument specification for the width.  */
             if (width_number > 0)
               {
-                if (allocated == spec.numbered_arg_count)
+                if (numbered_allocated == spec.numbered_arg_count)
                   {
-                    allocated = 2 * allocated + 1;
-                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, allocated * sizeof (struct numbered_arg));
+                    numbered_allocated = 2 * numbered_allocated + 1;
+                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, numbered_allocated * sizeof (struct numbered_arg));
                   }
                 spec.numbered[spec.numbered_arg_count].number = width_number;
                 spec.numbered[spec.numbered_arg_count].type = FAT_INTEGER;
@@ -613,10 +615,10 @@ format_parse (const char *format, bool translated, char *fdi,
               }
             else if (width_takenext)
               {
-                if (allocated == unnumbered_arg_count)
+                if (numbered_allocated == unnumbered_arg_count)
                   {
-                    allocated = 2 * allocated + 1;
-                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, allocated * sizeof (struct numbered_arg));
+                    numbered_allocated = 2 * numbered_allocated + 1;
+                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, numbered_allocated * sizeof (struct numbered_arg));
                   }
                 spec.numbered[unnumbered_arg_count].number = unnumbered_arg_count + 1;
                 spec.numbered[unnumbered_arg_count].type = FAT_INTEGER;
@@ -629,10 +631,10 @@ format_parse (const char *format, bool translated, char *fdi,
             /* Register the argument specification for the precision.  */
             if (precision_number > 0)
               {
-                if (allocated == spec.numbered_arg_count)
+                if (numbered_allocated == spec.numbered_arg_count)
                   {
-                    allocated = 2 * allocated + 1;
-                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, allocated * sizeof (struct numbered_arg));
+                    numbered_allocated = 2 * numbered_allocated + 1;
+                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, numbered_allocated * sizeof (struct numbered_arg));
                   }
                 spec.numbered[spec.numbered_arg_count].number = precision_number;
                 spec.numbered[spec.numbered_arg_count].type = FAT_INTEGER;
@@ -640,10 +642,10 @@ format_parse (const char *format, bool translated, char *fdi,
               }
             else if (precision_takenext)
               {
-                if (allocated == unnumbered_arg_count)
+                if (numbered_allocated == unnumbered_arg_count)
                   {
-                    allocated = 2 * allocated + 1;
-                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, allocated * sizeof (struct numbered_arg));
+                    numbered_allocated = 2 * numbered_allocated + 1;
+                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, numbered_allocated * sizeof (struct numbered_arg));
                   }
                 spec.numbered[unnumbered_arg_count].number = unnumbered_arg_count + 1;
                 spec.numbered[unnumbered_arg_count].type = FAT_INTEGER;
@@ -656,10 +658,10 @@ format_parse (const char *format, bool translated, char *fdi,
             /* Register the argument specification for the value.  */
             if (name != NULL)
               {
-                if (allocated == spec.named_arg_count)
+                if (named_allocated == spec.named_arg_count)
                   {
-                    allocated = 2 * allocated + 1;
-                    spec.named = (struct named_arg *) xrealloc (spec.named, allocated * sizeof (struct named_arg));
+                    named_allocated = 2 * named_allocated + 1;
+                    spec.named = (struct named_arg *) xrealloc (spec.named, named_allocated * sizeof (struct named_arg));
                   }
                 spec.named[spec.named_arg_count].name = name;
                 spec.named[spec.named_arg_count].type = type;
@@ -667,10 +669,10 @@ format_parse (const char *format, bool translated, char *fdi,
               }
             else if (number > 0)
               {
-                if (allocated == spec.numbered_arg_count)
+                if (numbered_allocated == spec.numbered_arg_count)
                   {
-                    allocated = 2 * allocated + 1;
-                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, allocated * sizeof (struct numbered_arg));
+                    numbered_allocated = 2 * numbered_allocated + 1;
+                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, numbered_allocated * sizeof (struct numbered_arg));
                   }
                 spec.numbered[spec.numbered_arg_count].number = number;
                 spec.numbered[spec.numbered_arg_count].type = type;
@@ -690,10 +692,10 @@ format_parse (const char *format, bool translated, char *fdi,
                     FDI_SET (format, FMTDIR_ERROR);
                     goto bad_format;
                   }
-                if (allocated == unnumbered_arg_count)
+                if (numbered_allocated == unnumbered_arg_count)
                   {
-                    allocated = 2 * allocated + 1;
-                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, allocated * sizeof (struct numbered_arg));
+                    numbered_allocated = 2 * numbered_allocated + 1;
+                    spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, numbered_allocated * sizeof (struct numbered_arg));
                   }
                 spec.numbered[unnumbered_arg_count].number = unnumbered_arg_count + 1;
                 spec.numbered[unnumbered_arg_count].type = type;