From: Noah Misch Date: Mon, 3 Nov 2014 02:43:20 +0000 (-0500) Subject: Fix win32setlocale.c const-related warnings. X-Git-Tag: REL9_4_RC1~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=94c1dec0d9c1da40ab956520ae093cdad478fcd4;p=thirdparty%2Fpostgresql.git Fix win32setlocale.c const-related warnings. Back-patch to 9.2, like commit db29620d4d16e08241f965ccd70d0f65883ff0de. --- diff --git a/src/port/win32setlocale.c b/src/port/win32setlocale.c index 379049b1bcf..386750d8914 100644 --- a/src/port/win32setlocale.c +++ b/src/port/win32setlocale.c @@ -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; }