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>
+
+ * 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:
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,
/* 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.
This file is part of Bison, the GNU Compiler Compiler.
char *cp = res;
if (src_num == 1)
char *cp = res;
if (src_num == 1)
- sprintf (cp, _(" 1 shift/reduce conflict"));
+ {
+ sprintf (cp, _(" 1 shift/reduce conflict"));
+ cp += strlen (cp);
+ }
- 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)
if (src_num > 0 && rrc_num > 0)
- sprintf (cp, _(" and"));
- cp += strlen (cp);
+ {
+ sprintf (cp, _(" and"));
+ cp += strlen (cp);
+ }
- sprintf (cp, _(" 1 reduce/reduce conflict"));
+ {
+ sprintf (cp, _(" 1 reduce/reduce conflict"));
+ cp += strlen (cp);
+ }
- 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';
*cp++ = '.';
*cp++ = '\n';