commit eadb18a3357b9b735b2f7da478854a39fb0c73c6 from: rsc date: Sun Feb 12 19:40:55 2006 UTC add exitcode commit - 5cc53af92d6bfae8b930d3c9154c8ed44e1feb09 commit + eadb18a3357b9b735b2f7da478854a39fb0c73c6 blob - 10000b5720ad1852b74ea0ea7c62b49ba42717f4 blob + 980a8d27c152da1ff5012dc156004ee7dd8e6802 --- include/libc.h +++ include/libc.h @@ -376,6 +376,7 @@ extern int dec16(uchar*, int, char*, int); extern int enc16(char*, int, uchar*, int); extern int encodefmt(Fmt*); extern int dirmodefmt(Fmt*); +extern int exitcode(char*); extern void exits(char*); extern double frexp(double, int*); extern ulong getcallerpc(void*); blob - 5e7c88ed2b1e4e79f6222d1440b8fa08e97b24de blob + a17c25aa692138a3cf5c7404fab1593ab0c79ae2 --- src/lib9/_exits.c +++ src/lib9/_exits.c @@ -4,7 +4,7 @@ void _exits(char *s) { - if(s && *s) - _exit(1); - _exit(0); + if(s == 0 || *s == 0) + _exit(0); + _exit(exitcode(s)); } blob - c5cdde1de9382672697ff6f5f57426be43ed6d46 blob + 7fcf0f3c96947ff010b020e83c86c77a0e1dfba6 --- src/lib9/atexit.c +++ src/lib9/atexit.c @@ -50,5 +50,7 @@ exits(char *s) onex[i].f = 0; (*f)(); } - exit(s && *s ? 1 : 0); + if(s == 0 || *s == 0) + exit(0); + exit(exitcode(s)); }