home *** CD-ROM | disk | FTP | other *** search
-
- int atoi (str)
- char * str;
- {
- int value = 0; /* accumulated value */
- int sgn = 0; /* if seen sign */
- char c;
-
- /* first skip whitespace */
- for ( ; (c = *str++) ; )
- if (!((c == ' ') || (c == '\t')))
- break;
- if (c == '+')
- sgn = 1;
- else
- if (c == '-')
- sgn = -1;
- else
- {
- str--; /* back up so loop will catch it again */
- sgn = 1;
- }
- /* process digits */
- for ( ; ((c = *str++) && (c >= '0') && (c <= '9')) ; )
- value = (value * 10) + (c - '0');
-
- return(value * sgn);
- }
-