Skip to content

Commit 252c358

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 23da66f commit 252c358

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
@@ -255,10 +255,10 @@ static const datetkn *abbrevcache[MAXDATEFIELDS] = {NULL};
255255

256256

257257
/*
258-
* strtoi --- just like strtol, but returns int not long
258+
* strtoint --- just like strtol, but returns int not long
259259
*/
260260
static int
261-
strtoi(const char *nptr, char **endptr, int base)
261+
strtoint(const char *nptr, char **endptr, int base)
262262
{
263263
long val;
264264

@@ -831,7 +831,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
831831
return DTERR_BAD_FORMAT;
832832

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

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

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

@@ -1850,7 +1850,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
18501850
}
18511851

18521852
errno = 0;
1853-
val = strtoi(field[i], &cp, 10);
1853+
val = strtoint(field[i], &cp, 10);
18541854
if (errno == ERANGE)
18551855
return DTERR_FIELD_OVERFLOW;
18561856

@@ -2518,13 +2518,13 @@ DecodeTime(char *str, int fmask, int range,
25182518
*tmask = DTK_TIME_M;
25192519

25202520
errno = 0;
2521-
tm->tm_hour = strtoi(str, &cp, 10);
2521+
tm->tm_hour = strtoint(str, &cp, 10);
25222522
if (errno == ERANGE)
25232523
return DTERR_FIELD_OVERFLOW;
25242524
if (*cp != ':')
25252525
return DTERR_BAD_FORMAT;
25262526
errno = 0;
2527-
tm->tm_min = strtoi(cp + 1, &cp, 10);
2527+
tm->tm_min = strtoint(cp + 1, &cp, 10);
25282528
if (errno == ERANGE)
25292529
return DTERR_FIELD_OVERFLOW;
25302530
if (*cp == '\0')
@@ -2552,7 +2552,7 @@ DecodeTime(char *str, int fmask, int range,
25522552
else if (*cp == ':')
25532553
{
25542554
errno = 0;
2555-
tm->tm_sec = strtoi(cp + 1, &cp, 10);
2555+
tm->tm_sec = strtoint(cp + 1, &cp, 10);
25562556
if (errno == ERANGE)
25572557
return DTERR_FIELD_OVERFLOW;
25582558
if (*cp == '\0')
@@ -2602,7 +2602,7 @@ DecodeNumber(int flen, char *str, bool haveTextMonth, int fmask,
26022602
*tmask = 0;
26032603

26042604
errno = 0;
2605-
val = strtoi(str, &cp, 10);
2605+
val = strtoint(str, &cp, 10);
26062606
if (errno == ERANGE)
26072607
return DTERR_FIELD_OVERFLOW;
26082608
if (cp == str)
@@ -2889,21 +2889,21 @@ DecodeTimezone(char *str, int *tzp)
28892889
return DTERR_BAD_FORMAT;
28902890

28912891
errno = 0;
2892-
hr = strtoi(str + 1, &cp, 10);
2892+
hr = strtoint(str + 1, &cp, 10);
28932893
if (errno == ERANGE)
28942894
return DTERR_TZDISP_OVERFLOW;
28952895

28962896
/* explicit delimiter? */
28972897
if (*cp == ':')
28982898
{
28992899
errno = 0;
2900-
min = strtoi(cp + 1, &cp, 10);
2900+
min = strtoint(cp + 1, &cp, 10);
29012901
if (errno == ERANGE)
29022902
return DTERR_TZDISP_OVERFLOW;
29032903
if (*cp == ':')
29042904
{
29052905
errno = 0;
2906-
sec = strtoi(cp + 1, &cp, 10);
2906+
sec = strtoint(cp + 1, &cp, 10);
29072907
if (errno == ERANGE)
29082908
return DTERR_TZDISP_OVERFLOW;
29092909
}
@@ -3176,7 +3176,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
31763176
}
31773177

31783178
errno = 0;
3179-
val = strtoi(field[i], &cp, 10);
3179+
val = strtoint(field[i], &cp, 10);
31803180
if (errno == ERANGE)
31813181
return DTERR_FIELD_OVERFLOW;
31823182

@@ -3185,7 +3185,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
31853185
/* SQL "years-months" syntax */
31863186
int val2;
31873187

3188-
val2 = strtoi(cp + 1, &cp, 10);
3188+
val2 = strtoint(cp + 1, &cp, 10);
31893189
if (errno == ERANGE || val2 < 0 || val2 >= MONTHS_PER_YEAR)
31903190
return DTERR_FIELD_OVERFLOW;
31913191
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)