xref: /csrg-svn/lib/libc/stdlib/atoi.c (revision 2816)
1*2816Swnj /* @(#)atoi.c	4.2 (Berkeley) 1/11/81 */
2*2816Swnj atoi(p)
3*2816Swnj register char *p;
41954Swnj {
5*2816Swnj 	register int n;
6*2816Swnj 	register int f;
71954Swnj 
81954Swnj 	n = 0;
91954Swnj 	f = 0;
10*2816Swnj 	for(;;p++) {
11*2816Swnj 		switch(*p) {
12*2816Swnj 		case ' ':
13*2816Swnj 		case '\t':
14*2816Swnj 			continue;
15*2816Swnj 		case '-':
16*2816Swnj 			f++;
17*2816Swnj 		case '+':
18*2816Swnj 			p++;
19*2816Swnj 		}
20*2816Swnj 		break;
211954Swnj 	}
221954Swnj 	while(*p >= '0' && *p <= '9')
231954Swnj 		n = n*10 + *p++ - '0';
24*2816Swnj 	return(f? -n: n);
251954Swnj }
26