estrtoul.c - ubase - suckless linux base utils | |
git clone git://git.suckless.org/ubase | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
estrtoul.c (452B) | |
--- | |
1 /* See LICENSE file for copyright and license details. */ | |
2 #include <errno.h> | |
3 #include <stdio.h> | |
4 #include <stdlib.h> | |
5 | |
6 #include "../util.h" | |
7 | |
8 unsigned long | |
9 estrtoul(const char *s, int base) | |
10 { | |
11 char *end; | |
12 unsigned long n; | |
13 | |
14 errno = 0; | |
15 n = strtoul(s, &end, base); | |
16 if (*end != '\0') { | |
17 if (base == 0) | |
18 eprintf("%s: not an integer\n", s); | |
19 else | |
20 eprintf("%s: not a base %d integer\n", s, base); | |
21 } | |
22 if (errno != 0) | |
23 eprintf("%s:", s); | |
24 | |
25 return n; | |
26 } |