commit eadb18a3357b9b735b2f7da478854a39fb0c73c6
parent 5cc53af92d6bfae8b930d3c9154c8ed44e1feb09
Author: rsc <devnull@localhost>
Date: Sun, 12 Feb 2006 19:40:55 +0000
add exitcode
Diffstat:
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/include/libc.h b/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*);
diff --git a/src/lib9/_exits.c b/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));
}
diff --git a/src/lib9/atexit.c b/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));
}