diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-08-12 21:34:06 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-08-12 21:34:06 +0200 |
commit | 9cf3dc9a259cadc80e6d3840c658ef1d5f7c94a4 (patch) | |
tree | 3ae416813cb7631de1c27a74f8cc35ae5686c356 /sys/src/cmd/awk/main.c | |
parent | 3f9d5e4a4f9e4f0b5fe66e4a6745a4b8c5f6e447 (diff) |
awk: allow string as exit status
Diffstat (limited to 'sys/src/cmd/awk/main.c')
-rw-r--r-- | sys/src/cmd/awk/main.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sys/src/cmd/awk/main.c b/sys/src/cmd/awk/main.c index 2695de56d..e4244e333 100644 --- a/sys/src/cmd/awk/main.c +++ b/sys/src/cmd/awk/main.c @@ -40,7 +40,6 @@ int dbg = 0; char *cmdname; /* gets argv[0] for error messages */ extern Biobuf *yyin; /* lex input file */ char *lexprog; /* points to program argument if it exists */ -extern int errorflag; /* non-zero if any syntax errors; set by yyerror */ int compile_time = 2; /* for error printing: */ /* 2 = cmdline, 1 = compile, 0 = running */ @@ -161,15 +160,13 @@ void main(int argc, char *argv[]) yyparse(); if (fs) *FS = qstring(fs, '\0'); - dprint( ("errorflag=%d\n", errorflag) ); - if (errorflag == 0) { + dprint( ("exitstatus=%s\n", exitstatus) ); + if (exitstatus == nil) { compile_time = 0; run(winner); } else bracecheck(); - if(errorflag) - exits("error"); - exits(0); + exits(exitstatus); } int pgetc(void) /* get 1 character from awk program */ |