master xplshn/aruu / shared / libutil / estrtol.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
 8long
 9estrtol(const char *s, int base)
10{
11	char *end;
12	long n;
13
14	errno = 0;
15	n = strtol(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}
27