From 7cb1e1ee0136b3e37b1b234342c64f2fc181a6b2 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Thu, 4 May 2017 18:03:03 +0200 Subject: test557: set a known good numeric locale Windows does not allow setting the locale with environment variables (as the test attempted to do), so the test failed when run with a user locale that has a comma as radixchar. Changed the test to call setlocale() explicitly to ensure that a known working locale is set even on Windows. --- tests/libtest/lib557.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'tests/libtest') diff --git a/tests/libtest/lib557.c b/tests/libtest/lib557.c index 68fdfa2b1..ca3118aec 100644 --- a/tests/libtest/lib557.c +++ b/tests/libtest/lib557.c @@ -26,8 +26,12 @@ */ #include "test.h" -#include "memdebug.h" +#ifdef HAVE_LOCALE_H +# include /* for setlocale() */ +#endif + +#include "memdebug.h" #if (CURL_SIZEOF_CURL_OFF_T > CURL_SIZEOF_LONG) # define MPRNT_SUFFIX_CURL_OFF_T LL @@ -1656,6 +1660,14 @@ int test(char *URL) int errors = 0; (void)URL; /* not used */ +#ifdef HAVE_SETLOCALE + /* + * The test makes assumptions about the numeric locale (specifically, + * RADIXCHAR) so set it to a known working (and portable) one. + */ + setlocale(LC_NUMERIC, "C"); +#endif + errors += test_weird_arguments(); errors += test_unsigned_short_formatting(); -- cgit v1.2.3