annotate target-utils/libc/atoi.c @ 479:f2a040324509

Makefile hierarchy: CFLAGS override-ability actually works now The original version was broken in that CFLAGS=${CFLAGS} passing was done without quotes, which breaks as soon as there is a space in the user-set CFLAGS. Changing it to CFLAGS="${CFLAGS}" makes it work as originally intended.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 14 Feb 2019 04:59:23 +0000
parents 7fb62fc724dc
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
87
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 atoi(p)
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 register char *p;
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 {
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 register int n;
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 register int f;
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 n = 0;
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 f = 0;
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 for(;;p++) {
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 switch(*p) {
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 case ' ':
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 case '\t':
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 continue;
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 case '-':
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 f++;
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 case '+':
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 p++;
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 }
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 break;
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 }
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 while(*p >= '0' && *p <= '9')
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 n = n*10 + *p++ - '0';
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 return(f? -n: n);
7fb62fc724dc target-utils/libc: beginning of newlib-ectomy
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 }