[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: segfault after restoring last deleted stack
From: |
Paul Eggert |
Subject: |
Re: segfault after restoring last deleted stack |
Date: |
12 Jan 2004 15:38:51 -0800 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 |
Thanks for the bug report. Does the following patch fix things for you?
2004-01-12 Paul Eggert <address@hidden>
* data/glr.c (yyreportSyntaxError): Don't dump core if
*yytokenp == YYEMPTY.
--- glr.c.~1.65.~ Sat Oct 4 23:46:52 2003
+++ glr.c Mon Jan 12 15:32:14 2004
@@ -1647,14 +1647,19 @@ yyreportSyntaxError (yyGLRStack* yystack
}
yyprefix = " or ";
}
- yysize += (sizeof ("syntax error, unexpected ")
- + strlen (yytokenName (*yytokenp)));
+ yysize += (*yytokenp == YYEMPTY
+ ? sizeof "syntax error"
+ : (sizeof "syntax error, unexpected "
+ + strlen (yytokenName (*yytokenp))));
yymsg = YYMALLOC (yysize);
if (yymsg != 0)
{
char* yyp = yymsg;
- sprintf (yyp, "syntax error, unexpected %s",
- yytokenName (*yytokenp));
+ if (*yytokenp == YYEMPTY)
+ strcpy (yyp, "syntax error");
+ else
+ sprintf (yyp, "syntax error, unexpected %s",
+ yytokenName (*yytokenp));
yyp += strlen (yyp);
if (yycount < 5)
{