mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-27 21:23:03 +00:00
* 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.
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user