#include #include #include #include long strtol(const char *s, char **p, int base) { intmax_t x = strtoimax(s, p, base); if (x > LONG_MAX) { errno = ERANGE; return LONG_MAX; } else if (x < LONG_MIN) { errno = ERANGE; return LONG_MIN; } return x; }