From: Jesse Thilo Date: Wed, 30 Dec 1998 06:07:25 +0000 (+0000) Subject: Some checks for premature EOF. X-Git-Tag: GNU_1_26~12 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/e6011337c3df12e5bac8425d7fb082a342873572 Some checks for premature EOF. --- diff --git a/src/reader.c b/src/reader.c index d3b4caf0..1e324944 100644 --- a/src/reader.c +++ b/src/reader.c @@ -488,8 +488,13 @@ parse_token_decl (int what_is, int what_is_not) for (;;) { - if(ungetc(skip_white_space(), finput) == '%') + int tmp_char = ungetc (skip_white_space (), finput); + + if (tmp_char == '%') return; + if (tmp_char == EOF) + fatals ("Premature EOF after %s", token_buffer); + token = lex(); if (token == COMMA) { @@ -671,9 +676,12 @@ parse_type_decl (void) for (;;) { register int t; + int tmp_char = ungetc (skip_white_space (), finput); - if(ungetc(skip_white_space(), finput) == '%') + if (tmp_char == '%') return; + if (tmp_char == EOF) + fatals ("Premature EOF after %s", token_buffer); t = lex(); @@ -716,9 +724,12 @@ parse_assoc_decl (int assoc) for (;;) { register int t; + int tmp_char = ungetc (skip_white_space (), finput); - if(ungetc(skip_white_space(), finput) == '%') + if (tmp_char == '%') return; + if (tmp_char == EOF) + fatals ("Premature EOF after %s", token_buffer); t = lex();