]> git.saurik.com Git - bison.git/commitdiff
* src/conflicts.c (conflict_report): Be sure not to append to res
authorAkim Demaille <akim@epita.fr>
Thu, 8 Feb 2001 14:51:33 +0000 (14:51 +0000)
committerAkim Demaille <akim@epita.fr>
Thu, 8 Feb 2001 14:51:33 +0000 (14:51 +0000)
between two calls, which could happen if both first sprintf were
skipped, but not the first cp += strlen.

ChangeLog
src/conflicts.c

index 52e9b43a9449f5b41467953e03d9e90957878cba..4af5f372346cb7753c9a66f56110ac791265ad73 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2001-02-08  Akim Demaille  <akim@epita.fr>
+
+       * src/conflicts.c (conflict_report): Be sure not to append to res
+       between two calls, which could happen if both first sprintf were
+       skipped, but not the first cp += strlen.
+
 2001-02-08  Akim Demaille  <akim@epita.fr>
 
        * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
index 50e82c9fed3a53338f19fae717b3ee63704ec7d7..208f791004816bc516c6944d98c8b084c34f2a3f 100644 (file)
@@ -1,5 +1,5 @@
 /* Find and resolve or report look-ahead conflicts for bison,
-   Copyright 1984, 1989, 1992, 2000 Free Software Foundation, Inc.
+   Copyright 1984, 1989, 1992, 2000, 2001 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
@@ -418,20 +418,32 @@ conflict_report (int src_num, int rrc_num)
   char *cp = res;
 
   if (src_num == 1)
-    sprintf (cp, _(" 1 shift/reduce conflict"));
+    {
+      sprintf (cp, _(" 1 shift/reduce conflict"));
+      cp += strlen (cp);
+    }
   else if (src_num > 1)
-    sprintf (cp, _(" %d shift/reduce conflicts"), src_num);
-  cp += strlen (cp);
+    {
+      sprintf (cp, _(" %d shift/reduce conflicts"), src_num);
+      cp += strlen (cp);
+    }
 
   if (src_num > 0 && rrc_num > 0)
-    sprintf (cp, _(" and"));
-  cp += strlen (cp);
+    {
+      sprintf (cp, _(" and"));
+      cp += strlen (cp);
+    }
 
   if (rrc_num == 1)
-    sprintf (cp, _(" 1 reduce/reduce conflict"));
+    {
+      sprintf (cp, _(" 1 reduce/reduce conflict"));
+      cp += strlen (cp);
+    }
   else if (rrc_num > 1)
-    sprintf (cp, _(" %d reduce/reduce conflicts"), rrc_num);
-  cp += strlen (cp);
+    {
+      sprintf (cp, _(" %d reduce/reduce conflicts"), rrc_num);
+      cp += strlen (cp);
+    }
 
   *cp++ = '.';
   *cp++ = '\n';