summaryrefslogtreecommitdiff
path: root/tests/setlocale.c
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2017-12-02 10:30:51 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2017-12-02 10:30:51 +0100
commitfd167a99e31b7021c78972c09acbf83b2d347c98 (patch)
treeca8ccd8fed78f99dd13ea6ab5069431983dac7b9 /tests/setlocale.c
parent4d76768442551c97a85e6f133cb818d223012746 (diff)
parent44a3eaeba04ef78835ca741592c376428ada5f71 (diff)
Update upstream source from tag 'upstream/0.9.8'
Update to upstream version '0.9.8' with Debian dir bac53b09be895fe7915b59f95882628bcc7b606e
Diffstat (limited to 'tests/setlocale.c')
-rw-r--r--tests/setlocale.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/setlocale.c b/tests/setlocale.c
index 7d366ed..df80890 100644
--- a/tests/setlocale.c
+++ b/tests/setlocale.c
@@ -1,5 +1,5 @@
/* Set the current locale. -*- coding: utf-8 -*-
- Copyright (C) 2009, 2011-2016 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2011-2017 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -12,7 +12,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* Written by Bruno Haible <bruno@clisp.org>, 2009. */
@@ -633,6 +633,13 @@ setlocale_unixlike (int category, const char *locale)
char ll_buf[64];
char CC_buf[64];
+ /* The native Windows implementation of setlocale understands the special
+ locale name "C", but not "POSIX". Therefore map "POSIX" to "C". */
+#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
+ if (locale != NULL && strcmp (locale, "POSIX") == 0)
+ locale = "C";
+#endif
+
/* First, try setlocale with the original argument unchanged. */
result = setlocale (category, locale);
if (result != NULL)