mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 17:53:02 +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>
|
2001-02-08 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
* lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
|
* 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,
|
/* 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.
|
||||||
|
|
||||||
@@ -418,20 +418,32 @@ conflict_report (int src_num, int rrc_num)
|
|||||||
char *cp = res;
|
char *cp = res;
|
||||||
|
|
||||||
if (src_num == 1)
|
if (src_num == 1)
|
||||||
sprintf (cp, _(" 1 shift/reduce conflict"));
|
{
|
||||||
|
sprintf (cp, _(" 1 shift/reduce conflict"));
|
||||||
|
cp += strlen (cp);
|
||||||
|
}
|
||||||
else if (src_num > 1)
|
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)
|
if (src_num > 0 && rrc_num > 0)
|
||||||
sprintf (cp, _(" and"));
|
{
|
||||||
cp += strlen (cp);
|
sprintf (cp, _(" and"));
|
||||||
|
cp += strlen (cp);
|
||||||
|
}
|
||||||
|
|
||||||
if (rrc_num == 1)
|
if (rrc_num == 1)
|
||||||
sprintf (cp, _(" 1 reduce/reduce conflict"));
|
{
|
||||||
|
sprintf (cp, _(" 1 reduce/reduce conflict"));
|
||||||
|
cp += strlen (cp);
|
||||||
|
}
|
||||||
else if (rrc_num > 1)
|
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++ = '.';
|
||||||
*cp++ = '\n';
|
*cp++ = '\n';
|
||||||
|
|||||||
Reference in New Issue
Block a user