#include <limits.h>
#include <errno.h>
+#include <ctype.h>
#include "shgetc.h"
/* Lookup table for digit values. -1==255>=36 -> invalid */
int c, neg=0;
unsigned x;
unsigned long long y;
- if (base > 36) {
+ if (base > 36 || base == 1) {
errno = EINVAL;
return 0;
}
for (; val[c]<base; c=shgetc(f));
errno = ERANGE;
y = lim;
+ if (lim&1) neg = 0;
}
done:
shunget(f);