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
8unsigned long
9estrtoul(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}