Rename strtoi() to strtoint().
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 23 Apr 2016 20:53:15 +0000 (16:53 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 23 Apr 2016 20:53:15 +0000 (16:53 -0400)
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

src/backend/utils/adt/datetime.c
src/interfaces/ecpg/pgtypeslib/interval.c

index 0ccc2312d1f7e0391f381ed3e73e7a9f691ed25d..0db7fd72ea006a518a6db1f85b86846b2a43e69e 100644 (file)
@@ -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')
index ed972be41e61051d9a69c5ecdcb410363e0ca96e..f989d999250967c7e3feef74fe01fa17e15e2108 100644 (file)
@@ -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')