Skip to content

Commit 0ab3595

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 b87b2f4 commit 0ab3595

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

src/backend/utils/adt/datetime.c

+14-14
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,10 @@ static const datetkn *abbrevcache[MAXDATEFIELDS] = {NULL};
256256

257257

258258
/*
259-
* strtoi --- just like strtol, but returns int not long
259+
* strtoint --- just like strtol, but returns int not long
260260
*/
261261
static int
262-
strtoi(const char *nptr, char **endptr, int base)
262+
strtoint(const char *nptr, char **endptr, int base)
263263
{
264264
long val;
265265

@@ -898,7 +898,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
898898
return DTERR_BAD_FORMAT;
899899

900900
errno = 0;
901-
val = strtoi(field[i], &cp, 10);
901+
val = strtoint(field[i], &cp, 10);
902902
if (errno == ERANGE || val < 0)
903903
return DTERR_FIELD_OVERFLOW;
904904

@@ -1062,7 +1062,7 @@ DecodeDateTime(char **field, int *ftype, int nf,
10621062
int val;
10631063

10641064
errno = 0;
1065-
val = strtoi(field[i], &cp, 10);
1065+
val = strtoint(field[i], &cp, 10);
10661066
if (errno == ERANGE)
10671067
return DTERR_FIELD_OVERFLOW;
10681068

@@ -1929,7 +1929,7 @@ DecodeTimeOnly(char **field, int *ftype, int nf,
19291929
}
19301930

19311931
errno = 0;
1932-
val = strtoi(field[i], &cp, 10);
1932+
val = strtoint(field[i], &cp, 10);
19331933
if (errno == ERANGE)
19341934
return DTERR_FIELD_OVERFLOW;
19351935

@@ -2600,13 +2600,13 @@ DecodeTime(char *str, int fmask, int range,
26002600
*tmask = DTK_TIME_M;
26012601

26022602
errno = 0;
2603-
tm->tm_hour = strtoi(str, &cp, 10);
2603+
tm->tm_hour = strtoint(str, &cp, 10);
26042604
if (errno == ERANGE)
26052605
return DTERR_FIELD_OVERFLOW;
26062606
if (*cp != ':')
26072607
return DTERR_BAD_FORMAT;
26082608
errno = 0;
2609-
tm->tm_min = strtoi(cp + 1, &cp, 10);
2609+
tm->tm_min = strtoint(cp + 1, &cp, 10);
26102610
if (errno == ERANGE)
26112611
return DTERR_FIELD_OVERFLOW;
26122612
if (*cp == '\0')
@@ -2634,7 +2634,7 @@ DecodeTime(char *str, int fmask, int range,
26342634
else if (*cp == ':')
26352635
{
26362636
errno = 0;
2637-
tm->tm_sec = strtoi(cp + 1, &cp, 10);
2637+
tm->tm_sec = strtoint(cp + 1, &cp, 10);
26382638
if (errno == ERANGE)
26392639
return DTERR_FIELD_OVERFLOW;
26402640
if (*cp == '\0')
@@ -2684,7 +2684,7 @@ DecodeNumber(int flen, char *str, bool haveTextMonth, int fmask,
26842684
*tmask = 0;
26852685

26862686
errno = 0;
2687-
val = strtoi(str, &cp, 10);
2687+
val = strtoint(str, &cp, 10);
26882688
if (errno == ERANGE)
26892689
return DTERR_FIELD_OVERFLOW;
26902690
if (cp == str)
@@ -2963,21 +2963,21 @@ DecodeTimezone(char *str, int *tzp)
29632963
return DTERR_BAD_FORMAT;
29642964

29652965
errno = 0;
2966-
hr = strtoi(str + 1, &cp, 10);
2966+
hr = strtoint(str + 1, &cp, 10);
29672967
if (errno == ERANGE)
29682968
return DTERR_TZDISP_OVERFLOW;
29692969

29702970
/* explicit delimiter? */
29712971
if (*cp == ':')
29722972
{
29732973
errno = 0;
2974-
min = strtoi(cp + 1, &cp, 10);
2974+
min = strtoint(cp + 1, &cp, 10);
29752975
if (errno == ERANGE)
29762976
return DTERR_TZDISP_OVERFLOW;
29772977
if (*cp == ':')
29782978
{
29792979
errno = 0;
2980-
sec = strtoi(cp + 1, &cp, 10);
2980+
sec = strtoint(cp + 1, &cp, 10);
29812981
if (errno == ERANGE)
29822982
return DTERR_TZDISP_OVERFLOW;
29832983
}
@@ -3250,7 +3250,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
32503250
}
32513251

32523252
errno = 0;
3253-
val = strtoi(field[i], &cp, 10);
3253+
val = strtoint(field[i], &cp, 10);
32543254
if (errno == ERANGE)
32553255
return DTERR_FIELD_OVERFLOW;
32563256

@@ -3259,7 +3259,7 @@ DecodeInterval(char **field, int *ftype, int nf, int range,
32593259
/* SQL "years-months" syntax */
32603260
int val2;
32613261

3262-
val2 = strtoi(cp + 1, &cp, 10);
3262+
val2 = strtoint(cp + 1, &cp, 10);
32633263
if (errno == ERANGE || val2 < 0 || val2 >= MONTHS_PER_YEAR)
32643264
return DTERR_FIELD_OVERFLOW;
32653265
if (*cp != '\0')

src/interfaces/ecpg/pgtypeslib/interval.c

+3-3
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)