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}