From b58afb270248c432dc95db1596717fbab34c7f31 Mon Sep 17 00:00:00 2001 From: Bill Joy Date: Sun, 1 Mar 1981 06:24:42 -0800 Subject: [PATCH] now same as atoi SCCS-vsn: lib/libc/stdlib/atoi.c 4.2 --- usr/src/lib/libc/stdlib/atoi.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/usr/src/lib/libc/stdlib/atoi.c b/usr/src/lib/libc/stdlib/atoi.c index 7382fc2c13..6553fabb07 100644 --- a/usr/src/lib/libc/stdlib/atoi.c +++ b/usr/src/lib/libc/stdlib/atoi.c @@ -1,25 +1,25 @@ -/* @(#)atoi.c 4.1 (Berkeley) %G% */ -atoi(ap) -char *ap; +/* @(#)atoi.c 4.2 (Berkeley) 1/11/81 */ +atoi(p) +register char *p; { - register int n, c; - register char *p; - int f; + register int n; + register int f; - p = ap; n = 0; f = 0; -loop: - while(*p == ' ' || *p == ' ') - p++; - if(*p == '-') { - f++; - p++; - goto loop; + for(;;p++) { + switch(*p) { + case ' ': + case '\t': + continue; + case '-': + f++; + case '+': + p++; + } + break; } while(*p >= '0' && *p <= '9') n = n*10 + *p++ - '0'; - if(f) - n = -n; - return(n); + return(f? -n: n); } -- 2.20.1