]> git.saurik.com Git - bison.git/commitdiff
* src/parse-gram.y (add_param): Fix the truncation of trailing
authorAkim Demaille <akim@epita.fr>
Wed, 6 Oct 2004 15:52:24 +0000 (15:52 +0000)
committerAkim Demaille <akim@epita.fr>
Wed, 6 Oct 2004 15:52:24 +0000 (15:52 +0000)
spaces.

ChangeLog
src/parse-gram.c
src/parse-gram.y

index 845b21cc8d62da5611d66af6ed8d8a86dba07e1e..242b0a97247b77247a6e9281a322680ed1ac214c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-06  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (add_param): Fix the truncation of trailing
+       spaces.
+
 2004-10-05  Akim Demaille  <akim@epita.fr>
 
        In Bison 1.875's yacc.c, YYLLOC_DEFAULT was called regardless
 2004-10-05  Akim Demaille  <akim@epita.fr>
 
        In Bison 1.875's yacc.c, YYLLOC_DEFAULT was called regardless
index 266b4e8a8e23f90083248715060bd2f11283ce38..3c31b28272999077a74188ec04cf9c70e752101f 100644 (file)
@@ -2024,17 +2024,18 @@ add_param (char const *type, char *decl, location loc)
   char const *name_start = NULL;
   char *p;
 
   char const *name_start = NULL;
   char *p;
 
-  for (p = decl; *p; p++)
+  for (p = decl; p[1]; p++)
     if ((p == decl
         || ! memchr (alphanum, p[-1], sizeof alphanum))
        && memchr (alphanum, p[0], sizeof alphanum - 10))
       name_start = p;
     if ((p == decl
         || ! memchr (alphanum, p[-1], sizeof alphanum))
        && memchr (alphanum, p[0], sizeof alphanum - 10))
       name_start = p;
-
+  fprintf (stderr, "DECLI: {%s}(%c)\n", decl, *p);
   /* Strip the surrounding '{' and '}', and any blanks just inside
      the braces.  */
   while (*--p == ' ' || *p == '\t')
     continue;
   /* Strip the surrounding '{' and '}', and any blanks just inside
      the braces.  */
   while (*--p == ' ' || *p == '\t')
     continue;
-  *p = '\0';
+  p[1] = '\0';
+  fprintf (stderr, "DECLO: {%s}\n", decl);
   while (*++decl == ' ' || *decl == '\t')
     continue;
 
   while (*++decl == ' ' || *decl == '\t')
     continue;
 
index 5dec642d666a2149c2832cde4dfc9d3a63e226be..6016cea74810e21eaed1bf63a2a1aa1f5ea48831 100644 (file)
@@ -480,7 +480,8 @@ add_param (char const *type, char *decl, location loc)
   char const *name_start = NULL;
   char *p;
 
   char const *name_start = NULL;
   char *p;
 
-  for (p = decl; *p; p++)
+  /* Stop on last actual character.  */
+  for (p = decl; p[1]; p++)
     if ((p == decl
         || ! memchr (alphanum, p[-1], sizeof alphanum))
        && memchr (alphanum, p[0], sizeof alphanum - 10))
     if ((p == decl
         || ! memchr (alphanum, p[-1], sizeof alphanum))
        && memchr (alphanum, p[0], sizeof alphanum - 10))
@@ -490,7 +491,7 @@ add_param (char const *type, char *decl, location loc)
      the braces.  */
   while (*--p == ' ' || *p == '\t')
     continue;
      the braces.  */
   while (*--p == ' ' || *p == '\t')
     continue;
-  *p = '\0';
+  p[1] = '\0';
   while (*++decl == ' ' || *decl == '\t')
     continue;
 
   while (*++decl == ' ' || *decl == '\t')
     continue;