From 770fa771b6985c1ae38fe47c25e8d8c3061a0dfa Mon Sep 17 00:00:00 2001 From: axel Date: Mon, 9 Oct 2006 09:46:50 +1000 Subject: [PATCH] Unknown commands should set the status flag to 127, as in bash and friends darcs-hash:20061008234650-ac50b-d41e6ec3d0a6088b0addf5721aecf8d98ed866cd.gz --- parser.c | 9 ++++++--- proc.h | 4 ++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/parser.c b/parser.c index 24530e2da..84c9a9e43 100644 --- a/parser.c +++ b/parser.c @@ -1858,7 +1858,7 @@ static int parse_job( process_t *p, block_t *prev_block = current_block; int prev_tokenizer_pos = current_tokenizer_pos; - + current_tokenizer_pos = tok_get_pos( tok ); while( al_get_count( args ) == 0 ) @@ -2190,7 +2190,10 @@ static int parse_job( process_t *p, execution of the file. Instead we let p->actual_command be 0 (null), which will cause the job to silently not execute. We - also print an error message. + also print an error message and set the + status to 127 (This is the standard number + for this, used by other shells like bash + and zsh). */ if( wcschr( cmd, L'=' ) ) { @@ -2244,7 +2247,7 @@ static int parse_job( process_t *p, current_tokenizer_pos=tmp; j->skip=1; - + proc_set_last_status( STATUS_UNKNOWN_COMMAND ); } } } diff --git a/proc.h b/proc.h index 626188f57..b44d024a2 100644 --- a/proc.h +++ b/proc.h @@ -19,6 +19,10 @@ #include "util.h" #include "io.h" +/** + The status code use when a command was not found +*/ +#define STATUS_UNKNOWN_COMMAND 127 /** Types of processes