Change _p9strsig to return nil if tmp==nil. Add atoi, atol, atoll. These versions call strtol/strtoll with base==0. The Unix versions use base==10.
diff --git a/src/lib9/atoi.c b/src/lib9/atoi.c new file mode 100644 index 0000000..66ecb4e --- /dev/null +++ b/src/lib9/atoi.c
@@ -0,0 +1,9 @@ +#include <u.h> +#include <libc.h> + +int +atoi(char *s) +{ + return strtol(s, 0, 0); +} +
diff --git a/src/lib9/atol.c b/src/lib9/atol.c new file mode 100644 index 0000000..d671383 --- /dev/null +++ b/src/lib9/atol.c
@@ -0,0 +1,9 @@ +#include <u.h> +#include <libc.h> + +long +atol(char *s) +{ + return strtol(s, 0, 0); +} +
diff --git a/src/lib9/atoll.c b/src/lib9/atoll.c new file mode 100644 index 0000000..6c345df --- /dev/null +++ b/src/lib9/atoll.c
@@ -0,0 +1,9 @@ +#include <u.h> +#include <libc.h> + +vlong +atoll(char *s) +{ + return strtoll(s, 0, 0); +} +
diff --git a/src/lib9/await.c b/src/lib9/await.c index a97c6d1..c6c7122 100644 --- a/src/lib9/await.c +++ b/src/lib9/await.c
@@ -56,6 +56,8 @@ for(i=0; i<nelem(tab); i++) if(tab[i].sig == sig) return tab[i].str; + if(tmp == nil) + return nil; sprint(tmp, "sys: signal %d", sig); return tmp; }
diff --git a/src/lib9/mkfile b/src/lib9/mkfile index 4dda2e1..6dfab74 100644 --- a/src/lib9/mkfile +++ b/src/lib9/mkfile
@@ -72,6 +72,9 @@ announce.$O\ argv0.$O\ atexit.$O\ + atoi.$O\ + atol.$O\ + atoll.$O\ atnotify.$O\ await.$O\ cistrcmp.$O\