Fix/eliminate use of atol

This commit is contained in:
Eric Andersen
2004-03-06 22:11:45 +00:00
parent c4db0833a6
commit 2479445562
9 changed files with 132 additions and 54 deletions

View File

@@ -405,48 +405,24 @@ print_direc(char *start, size_t length, int field_width, int precision,
static unsigned long xstrtoul(char *arg)
{
unsigned long result;
char *endptr;
//int errno_save = errno;
assert(arg!=NULL);
errno = 0;
result = strtoul(arg, &endptr, 0);
if (errno != 0 || *endptr!='\0' || endptr==arg)
if (safe_strtoul(arg, &result))
fprintf(stderr, "%s", arg);
//errno = errno_save;
return result;
}
static long xstrtol(char *arg)
{
long result;
char *endptr;
//int errno_save = errno;
assert(arg!=NULL);
errno = 0;
result = strtoul(arg, &endptr, 0);
if (errno != 0 || *endptr!='\0' || endptr==arg)
if (safe_strtol(arg, &result))
fprintf(stderr, "%s", arg);
//errno = errno_save;
return result;
}
static double xstrtod(char *arg)
{
double result;
char *endptr;
//int errno_save = errno;
assert(arg!=NULL);
errno = 0;
result = strtod(arg, &endptr);
if (errno != 0 || *endptr!='\0' || endptr==arg)
if (safe_strtod(arg, &result))
fprintf(stderr, "%s", arg);
//errno = errno_save;
return result;
}