]> granicus.if.org Git - postgresql/commitdiff
Fix win32setlocale.c const-related warnings.
authorNoah Misch <noah@leadboat.com>
Mon, 3 Nov 2014 02:43:20 +0000 (21:43 -0500)
committerNoah Misch <noah@leadboat.com>
Mon, 3 Nov 2014 02:44:21 +0000 (21:44 -0500)
Back-patch to 9.2, like commit db29620d4d16e08241f965ccd70d0f65883ff0de.

src/port/win32setlocale.c

index 379049b1bcfabe1e128df13cec6c6ea46079692b..386750d891499d1ec599c0894276509ba4caf4c6 100644 (file)
@@ -103,8 +103,8 @@ static const struct locale_map locale_map_result[] = {
 
 #define MAX_LOCALE_NAME_LEN            100
 
-static char *
-map_locale(struct locale_map *map, char *locale)
+static const char *
+map_locale(const struct locale_map *map, const char *locale)
 {
        static char aliasbuf[MAX_LOCALE_NAME_LEN];
        int                     i;
@@ -167,7 +167,7 @@ map_locale(struct locale_map *map, char *locale)
 char *
 pgwin32_setlocale(int category, const char *locale)
 {
-       char       *argument;
+       const char *argument;
        char       *result;
 
        if (locale == NULL)
@@ -178,8 +178,12 @@ pgwin32_setlocale(int category, const char *locale)
        /* Call the real setlocale() function */
        result = setlocale(category, argument);
 
+       /*
+        * setlocale() is specified to return a "char *" that the caller is
+        * forbidden to modify, so casting away the "const" is innocuous.
+        */
        if (result)
-               result = map_locale(locale_map_result, result);
+               result = (char *) map_locale(locale_map_result, result);
 
        return result;
 }