source:
buchla-68k/libcio/atol.c@
6262b5c
Last change on this file since 6262b5c was 6262b5c, checked in by , 7 years ago | |
---|---|
|
|
File size: 519 bytes |
Rev | Line | |
---|---|---|
[f40a309] | 1 | /* |
2 | ============================================================================= | |
3 | atol.c -- ascii to long conversion | |
4 | Version 3 -- 1987-06-29 -- D.N. Lynx Crowe | |
5 | ============================================================================= | |
6 | */ | |
7 | ||
[6262b5c] | 8 | #include "all.h" |
[f40a309] | 9 | |
[7258c6a] | 10 | int32_t atol(int8_t *cp) |
[f40a309] | 11 | { |
[7258c6a] | 12 | register int32_t n; |
13 | register int16_t sign; | |
[f40a309] | 14 | |
15 | sign = 0; | |
16 | ||
17 | if (*cp EQ '-') { | |
18 | ||
19 | ++cp; | |
20 | sign = 1; | |
21 | ||
22 | } else { | |
23 | ||
24 | if (*cp EQ '+') | |
25 | ++cp; | |
26 | } | |
27 | ||
28 | for (n = 0; isdigit(*cp); ) | |
29 | n = n * 10 + *cp++ - '0'; | |
30 | ||
31 | return(sign ? -n : n); | |
32 | } | |
[6262b5c] | 33 |
Note:
See TracBrowser
for help on using the repository browser.