master xplshn/aruu / shared / libutil / estrtoul.c
 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}