Skip to content

Commit bdf7744

Browse files
committed
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
1 parent 3debaa6 commit bdf7744

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

src/backend/utils/adt/datetime.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -252,10 +252,10 @@ static const datetkn *abbrevcache[MAXDATEFIELDS] = {NULL};
252252

253253

254254
/*
255-
* strtoi --- just like strtol, but returns int not long
255+
* strtoint --- just like strtol, but returns int not long
256256
*/
257257
static int
258-
strtoi(const char *nptr, char **endptr, int base)
258+
strtoint(const char *nptr, char **endptr, int base)
259259
{
260260
long val;
261261

@@ -829,7 +829,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
829829
return DTERR_BAD_FORMAT;
830830

831831
errno = 0;
832-
val = strtoi(field[i], &cp, 10);
832+
val = strtoint(field[i], &cp, 10);
833833
if (errno == ERANGE || val < 0)
834834
return DTERR_FIELD_OVERFLOW;
835835

@@ -993,7 +993,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
993993
int val;
994994

995995
errno = 0;
996-
val = strtoi(field[i], &cp, 10);
996+
val = strtoint(field[i], &cp, 10);
997997
if (errno == ERANGE)
998998
return DTERR_FIELD_OVERFLOW;
999999

@@ -1860,7 +1860,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
18601860
}
18611861

18621862
errno = 0;
1863-
val = strtoi(field[i], &cp, 10);
1863+
val = strtoint(field[i], &cp, 10);
18641864
if (errno == ERANGE)
18651865
return DTERR_FIELD_OVERFLOW;
18661866

@@ -2531,13 +2531,13 @@ DecodeTime(char *str, int fmask, int range,
25312531
*tmask = DTK_TIME_M;
25322532

25332533
errno = 0;
2534-
tm->tm_hour = strtoi(str, &cp, 10);
2534+
tm->tm_hour = strtoint(str, &cp, 10);
25352535
if (errno == ERANGE)
25362536
return DTERR_FIELD_OVERFLOW;
25372537
if (*cp != ':')
25382538
return DTERR_BAD_FORMAT;
25392539
errno = 0;
2540-
tm->tm_min = strtoi(cp + 1, &cp, 10);
2540+
tm->tm_min = strtoint(cp + 1, &cp, 10);
25412541
if (errno == ERANGE)
25422542
return DTERR_FIELD_OVERFLOW;
25432543
if (*cp == '\0')
@@ -2565,7 +2565,7 @@ DecodeTime(char *str, int fmask, int range,
25652565
else if (*cp == ':')
25662566
{
25672567
errno = 0;
2568-
tm->tm_sec = strtoi(cp + 1, &cp, 10);
2568+
tm->tm_sec = strtoint(cp + 1, &cp, 10);
25692569
if (errno == ERANGE)
25702570
return DTERR_FIELD_OVERFLOW;
25712571
if (*cp == '\0')
@@ -2615,7 +2615,7 @@ DecodeNumber(int flen, char *str, bool haveTextMonth, int fmask,
26152615
*tmask = 0;
26162616

26172617
errno = 0;
2618-
val = strtoi(str, &cp, 10);
2618+
val = strtoint(str, &cp, 10);
26192619
if (errno == ERANGE)
26202620
return DTERR_FIELD_OVERFLOW;
26212621
if (cp == str)
@@ -2894,21 +2894,21 @@ DecodeTimezone(char *str, int *tzp)
28942894
return DTERR_BAD_FORMAT;
28952895

28962896
errno = 0;
2897-
hr = strtoi(str + 1, &cp, 10);
2897+
hr = strtoint(str + 1, &cp, 10);
28982898
if (errno == ERANGE)
28992899
return DTERR_TZDISP_OVERFLOW;
29002900

29012901
/* explicit delimiter? */
29022902
if (*cp == ':')
29032903
{
29042904
errno = 0;
2905-
min = strtoi(cp + 1, &cp, 10);
2905+
min = strtoint(cp + 1, &cp, 10);
29062906
if (errno == ERANGE)
29072907
return DTERR_TZDISP_OVERFLOW;
29082908
if (*cp == ':')
29092909
{
29102910
errno = 0;
2911-
sec = strtoi(cp + 1, &cp, 10);
2911+
sec = strtoint(cp + 1, &cp, 10);
29122912
if (errno == ERANGE)
29132913
return DTERR_TZDISP_OVERFLOW;
29142914
}
@@ -3181,7 +3181,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
31813181
}
31823182

31833183
errno = 0;
3184-
val = strtoi(field[i], &cp, 10);
3184+
val = strtoint(field[i], &cp, 10);
31853185
if (errno == ERANGE)
31863186
return DTERR_FIELD_OVERFLOW;
31873187

@@ -3190,7 +3190,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
31903190
/* SQL "years-months" syntax */
31913191
int val2;
31923192

3193-
val2 = strtoi(cp + 1, &cp, 10);
3193+
val2 = strtoint(cp + 1, &cp, 10);
31943194
if (errno == ERANGE || val2 < 0 || val2 >= MONTHS_PER_YEAR)
31953195
return DTERR_FIELD_OVERFLOW;
31963196
if (*cp != '\0')

src/interfaces/ecpg/pgtypeslib/interval.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
/* copy&pasted from .../src/backend/utils/adt/datetime.c */
1818
static int
19-
strtoi(const char *nptr, char **endptr, int base)
19+
strtoint(const char *nptr, char **endptr, int base)
2020
{
2121
long val;
2222

@@ -448,7 +448,7 @@ DecodeInterval(char **field, int *ftype, int nf, /* int range, */
448448
}
449449

450450
errno = 0;
451-
val = strtoi(field[i], &cp, 10);
451+
val = strtoint(field[i], &cp, 10);
452452
if (errno == ERANGE)
453453
return DTERR_FIELD_OVERFLOW;
454454

@@ -457,7 +457,7 @@ DecodeInterval(char **field, int *ftype, int nf, /* int range, */
457457
/* SQL "years-months" syntax */
458458
int val2;
459459

460-
val2 = strtoi(cp + 1, &cp, 10);
460+
val2 = strtoint(cp + 1, &cp, 10);
461461
if (errno == ERANGE || val2 < 0 || val2 >= MONTHS_PER_YEAR)
462462
return DTERR_FIELD_OVERFLOW;
463463
if (*cp != '\0')

0 commit comments

Comments
 (0)