From: ceriel Date: Fri, 9 Sep 1988 11:36:57 +0000 (+0000) Subject: fix exit status X-Git-Tag: release-5-5~2853 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=5b50914bea6bec113a8af24f2ffaa4fd01211c64;p=ack.git fix exit status --- diff --git a/util/ceg/as_parser/help.c b/util/ceg/as_parser/help.c index b29e6e67e..bf29adf90 100644 --- a/util/ceg/as_parser/help.c +++ b/util/ceg/as_parser/help.c @@ -221,6 +221,8 @@ va_dcl va_end(pvar); } +extern int nerrors; + /*VARARGS*/ error(va_alist) va_dcl @@ -228,6 +230,7 @@ va_dcl char *fmt; va_list pvar; + nerrors++; va_start(pvar); fmt = va_arg(pvar, char *); fprint( STDERR, "!! ERROR : "); diff --git a/util/ceg/as_parser/pars.g b/util/ceg/as_parser/pars.g index 5a9e2de2d..c39a9280b 100644 --- a/util/ceg/as_parser/pars.g +++ b/util/ceg/as_parser/pars.g @@ -124,21 +124,22 @@ if_statement : IF { +int nerrors; static int saved = 0, token; LLmessage( inserted_token) int inserted_token; { + nerrors++; if ( inserted_token == 0) { fprint( STDERR, "Sytax error in line %d, ", yylineno); print_token( LLsymb); fprint( STDERR, " will be deleted!!\n"); } else if ( inserted_token < 0) { - fprint( STDERR, "Stack overflow in line %d, fatal error!\n", + fprint( STDERR, "Garbage at end, line %d!!\n", yylineno); - exit( 1); } else { fprint( STDERR, "Sytax error in line %d, ", yylineno); @@ -194,7 +195,7 @@ int lex_analyzer() main() { table(); - return( 0); + exit(nerrors); } }