xref: /csrg-svn/lib/libc/stdlib/atoi.c (revision 22080)
1*22080Smckusick #ifndef lint
2*22080Smckusick static char sccsid[] = "@(#)atoi.c	5.1 (Berkeley) 06/05/85";
3*22080Smckusick #endif not lint
4*22080Smckusick 
52816Swnj atoi(p)
62816Swnj register char *p;
71954Swnj {
82816Swnj 	register int n;
92816Swnj 	register int f;
101954Swnj 
111954Swnj 	n = 0;
121954Swnj 	f = 0;
132816Swnj 	for(;;p++) {
142816Swnj 		switch(*p) {
152816Swnj 		case ' ':
162816Swnj 		case '\t':
172816Swnj 			continue;
182816Swnj 		case '-':
192816Swnj 			f++;
202816Swnj 		case '+':
212816Swnj 			p++;
222816Swnj 		}
232816Swnj 		break;
241954Swnj 	}
251954Swnj 	while(*p >= '0' && *p <= '9')
261954Swnj 		n = n*10 + *p++ - '0';
272816Swnj 	return(f? -n: n);
281954Swnj }
29