Avoid iswhite(EOF) - fixes coverty CIDs 365 and 1196

I'm not at all sure EOF handling is correct anyway - but it probably only
affects the last line of a file (and maybe last lines without \n).
In particular I suspect that 'ungetc(EOF, file)' doesn't do the expected
thing, and that fseek() needs to be preceeded by clearerr(). But life it short.
This commit is contained in:
dsl 2006-04-05 20:03:14 +00:00
parent 435a7d0d03
commit 4fe310d596
2 changed files with 9 additions and 6 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: C.c,v 1.13 2005/07/20 17:22:45 ross Exp $ */
/* $NetBSD: C.c,v 1.14 2006/04/05 20:03:14 dsl Exp $ */
/*
* Copyright (c) 1987, 1993, 1994
@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)C.c 8.4 (Berkeley) 4/2/94";
#else
__RCSID("$NetBSD: C.c,v 1.13 2005/07/20 17:22:45 ross Exp $");
__RCSID("$NetBSD: C.c,v 1.14 2006/04/05 20:03:14 dsl Exp $");
#endif
#endif /* not lint */
@ -150,10 +150,11 @@ c_entries(void)
*/
case '(':
do c = getc(inf);
while(iswhite(c));
while (c != EOF && iswhite(c));
if (c == '*')
break;
else ungetc(c, inf);
if (c != EOF)
ungetc(c, inf);
if (!level && token) {
int curline;

View File

@ -1,4 +1,4 @@
/* $NetBSD: yacc.c,v 1.10 2005/02/17 17:29:58 xtraeme Exp $ */
/* $NetBSD: yacc.c,v 1.11 2006/04/05 20:03:14 dsl Exp $ */
/*
* Copyright (c) 1987, 1993, 1994
@ -38,7 +38,7 @@
#if 0
static char sccsid[] = "@(#)yacc.c 8.3 (Berkeley) 4/2/94";
#else
__RCSID("$NetBSD: yacc.c,v 1.10 2005/02/17 17:29:58 xtraeme Exp $");
__RCSID("$NetBSD: yacc.c,v 1.11 2006/04/05 20:03:14 dsl Exp $");
#endif
#endif /* not lint */
@ -106,6 +106,8 @@ y_entries(void)
*sp++ = c;
*sp = EOS;
getline(); /* may change before ':' */
if (c == EOF)
return;
while (iswhite(c)) {
if (c == '\n')
SETLINE;