29 int ret =
yaz_atoi(10, buf, size, val);
30 return ret != size ? 0 : 1;
33int yaz_atoi(
int base,
const char *ptr,
int len,
int *val)
36 int ret =
yaz_atoul(base, ptr, len, &uval);
45int yaz_atoul(
int base,
const char *ptr,
int len,
unsigned long *val)
49 if (base < 2 || base > 36)
52 for (i = 0; i < len; i++)
58 digit = ptr[i] - (
'A' - 10);
60 digit = ptr[i] - (
'a' - 10);
65 if (*val > (ULONG_MAX - digit) / base)
67 *val = *val * base + digit;
ASCII to integer conversion.
int atoi_n_check(const char *buf, int size, int *val)
like atoi_n but checks for proper formatting
int yaz_atoi(int base, const char *ptr, int len, int *val)
string to int conversion, with base
int yaz_atoul(int base, const char *ptr, int len, unsigned long *val)
string to unsigned long conversion, with base
int atoi_n(const char *buf, int len)
like atoi(3) except that it reads exactly len characters
Header for YAZ iconv interface.