From e6011337c3df12e5bac8425d7fb082a342873572 Mon Sep 17 00:00:00 2001 From: Jesse Thilo Date: Wed, 30 Dec 1998 06:07:25 +0000 Subject: [PATCH] Some checks for premature EOF. --- src/reader.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) 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(); -- 2.47.2