+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:
/* 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.
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';