Rename strtoi() to strtoint().
NetBSD has seen fit to invent a libc function named strtoi(), which conflicts with the long-established static functions of the same name in datetime.c and ecpg's interval.c. While muttering darkly about intrusions on application namespace, we'll rename our functions to avoid the conflict. Back-patch to all supported branches, since this would affect attempts to build any of them on recent NetBSD. Thomas Munro
This commit is contained in:
parent
6882dbd342
commit
cbff4b7085
@ -253,10 +253,10 @@ static const datetkn *abbrevcache[MAXDATEFIELDS] = {NULL};
|
||||
|
||||
|
||||
/*
|
||||
* strtoi --- just like strtol, but returns int not long
|
||||
* strtoint --- just like strtol, but returns int not long
|
||||
*/
|
||||
static int
|
||||
strtoi(const char *nptr, char **endptr, int base)
|
||||
strtoint(const char *nptr, char **endptr, int base)
|
||||
{
|
||||
long val;
|
||||
|
||||
@ -828,7 +828,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
|
||||
return DTERR_BAD_FORMAT;
|
||||
|
||||
errno = 0;
|
||||
val = strtoi(field[i], &cp, 10);
|
||||
val = strtoint(field[i], &cp, 10);
|
||||
if (errno == ERANGE || val < 0)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
|
||||
@ -980,7 +980,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
|
||||
int val;
|
||||
|
||||
errno = 0;
|
||||
val = strtoi(field[i], &cp, 10);
|
||||
val = strtoint(field[i], &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
|
||||
@ -1842,7 +1842,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
|
||||
}
|
||||
|
||||
errno = 0;
|
||||
val = strtoi(field[i], &cp, 10);
|
||||
val = strtoint(field[i], &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
|
||||
@ -2510,13 +2510,13 @@ DecodeTime(char *str, int fmask, int range,
|
||||
*tmask = DTK_TIME_M;
|
||||
|
||||
errno = 0;
|
||||
tm->tm_hour = strtoi(str, &cp, 10);
|
||||
tm->tm_hour = strtoint(str, &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
if (*cp != ':')
|
||||
return DTERR_BAD_FORMAT;
|
||||
errno = 0;
|
||||
tm->tm_min = strtoi(cp + 1, &cp, 10);
|
||||
tm->tm_min = strtoint(cp + 1, &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
if (*cp == '\0')
|
||||
@ -2544,7 +2544,7 @@ DecodeTime(char *str, int fmask, int range,
|
||||
else if (*cp == ':')
|
||||
{
|
||||
errno = 0;
|
||||
tm->tm_sec = strtoi(cp + 1, &cp, 10);
|
||||
tm->tm_sec = strtoint(cp + 1, &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
if (*cp == '\0')
|
||||
@ -2594,7 +2594,7 @@ DecodeNumber(int flen, char *str, bool haveTextMonth, int fmask,
|
||||
*tmask = 0;
|
||||
|
||||
errno = 0;
|
||||
val = strtoi(str, &cp, 10);
|
||||
val = strtoint(str, &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
if (cp == str)
|
||||
@ -2881,7 +2881,7 @@ DecodeTimezone(char *str, int *tzp)
|
||||
return DTERR_BAD_FORMAT;
|
||||
|
||||
errno = 0;
|
||||
hr = strtoi(str + 1, &cp, 10);
|
||||
hr = strtoint(str + 1, &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_TZDISP_OVERFLOW;
|
||||
|
||||
@ -2889,13 +2889,13 @@ DecodeTimezone(char *str, int *tzp)
|
||||
if (*cp == ':')
|
||||
{
|
||||
errno = 0;
|
||||
min = strtoi(cp + 1, &cp, 10);
|
||||
min = strtoint(cp + 1, &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_TZDISP_OVERFLOW;
|
||||
if (*cp == ':')
|
||||
{
|
||||
errno = 0;
|
||||
sec = strtoi(cp + 1, &cp, 10);
|
||||
sec = strtoint(cp + 1, &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_TZDISP_OVERFLOW;
|
||||
}
|
||||
@ -3168,7 +3168,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
|
||||
}
|
||||
|
||||
errno = 0;
|
||||
val = strtoi(field[i], &cp, 10);
|
||||
val = strtoint(field[i], &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
|
||||
@ -3177,7 +3177,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
|
||||
/* SQL "years-months" syntax */
|
||||
int val2;
|
||||
|
||||
val2 = strtoi(cp + 1, &cp, 10);
|
||||
val2 = strtoint(cp + 1, &cp, 10);
|
||||
if (errno == ERANGE || val2 < 0 || val2 >= MONTHS_PER_YEAR)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
if (*cp != '\0')
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
/* copy&pasted from .../src/backend/utils/adt/datetime.c */
|
||||
static int
|
||||
strtoi(const char *nptr, char **endptr, int base)
|
||||
strtoint(const char *nptr, char **endptr, int base)
|
||||
{
|
||||
long val;
|
||||
|
||||
@ -448,7 +448,7 @@ DecodeInterval(char **field, int *ftype, int nf, /* int range, */
|
||||
}
|
||||
|
||||
errno = 0;
|
||||
val = strtoi(field[i], &cp, 10);
|
||||
val = strtoint(field[i], &cp, 10);
|
||||
if (errno == ERANGE)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
|
||||
@ -457,7 +457,7 @@ DecodeInterval(char **field, int *ftype, int nf, /* int range, */
|
||||
/* SQL "years-months" syntax */
|
||||
int val2;
|
||||
|
||||
val2 = strtoi(cp + 1, &cp, 10);
|
||||
val2 = strtoint(cp + 1, &cp, 10);
|
||||
if (errno == ERANGE || val2 < 0 || val2 >= MONTHS_PER_YEAR)
|
||||
return DTERR_FIELD_OVERFLOW;
|
||||
if (*cp != '\0')
|
||||
|
Loading…
x
Reference in New Issue
Block a user