mirror of
https://github.com/encounter/osdev.git
synced 2026-07-10 12:18:43 -07:00
16 lines
352 B
C
16 lines
352 B
C
#include <ctype.h>
|
|
|
|
int atoi(const char *s) {
|
|
int n = 0, neg = 0;
|
|
while (isspace(*s)) s++;
|
|
switch (*s) {
|
|
case '-':
|
|
neg = 1;
|
|
case '+':
|
|
s++;
|
|
}
|
|
/* Compute n as a negative number to avoid overflow on INT_MIN */
|
|
while (isdigit(*s))
|
|
n = 10 * n - (*s++ - '0');
|
|
return neg ? n : -n;
|
|
} |