xref: /third_party/musl/src/stdlib/atoll.c (revision 570af302)
1#include <stdlib.h>
2#include <ctype.h>
3
4long long atoll(const char *s)
5{
6	long long n=0;
7	int neg=0;
8	while (isspace(*s)) s++;
9	switch (*s) {
10	case '-': neg=1;
11	case '+': s++;
12	}
13	/* Compute n as a negative number to avoid overflow on LLONG_MIN */
14	while (isdigit(*s))
15		n = 10*n - (*s++ - '0');
16	return neg ? n : -n;
17}
18