diff --git a/ChangeLog b/ChangeLog index b13afb734a..9580678077 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2015-09-28 Martin Sebor + + [BZ #18969] + * string/Makefile (LOCALES): Define. + (gen-locales.mk): Include. + (test-strcasecmp.out, test-strncasecmp.out, tst-strxfrm.out) + (tst-strxfrm2.out): Add deppendency on $(gen-locales). + * string/tst-strxfrm2.c (do_test): Print the name of the locale + on setlocale failure. + 2015-09-26 Paul Pluzhnikov [BZ #18985] diff --git a/NEWS b/NEWS index da9c8dfe92..63bdac750f 100644 --- a/NEWS +++ b/NEWS @@ -16,7 +16,7 @@ Version 2.23 18618, 18647, 18661, 18674, 18675, 18681, 18757, 18778, 18781, 18787, 18789, 18790, 18795, 18796, 18803, 18820, 18823, 18824, 18825, 18857, 18863, 18870, 18872, 18873, 18875, 18887, 18921, 18951, 18952, 18956, - 18961, 18966, 18967, 18970, 18977, 18980, 18981, 18985, 19003. + 18961, 18966, 18967, 18969, 18970, 18977, 18980, 18981, 18985, 19003. * The obsolete header has been removed. Programs that require this header must be updated to use instead. diff --git a/string/Makefile b/string/Makefile index 8424a6162d..c543159afd 100644 --- a/string/Makefile +++ b/string/Makefile @@ -75,4 +75,14 @@ ifeq ($(run-built-tests),yes) $(objpfx)tst-svc-cmp.out: tst-svc.expect $(objpfx)tst-svc.out cmp $^ > $@; \ $(evaluate-test) + +LOCALES := de_DE.UTF-8 en_US.ISO-8859-1 en_US.UTF-8 \ + tr_TR.ISO-8859-9 tr_TR.UTF-8 +include ../gen-locales.mk + +$(objpfx)test-strcasecmp.out: $(gen-locales) +$(objpfx)test-strncasecmp.out: $(gen-locales) +$(objpfx)tst-strxfrm.out: $(gen-locales) +$(objpfx)tst-strxfrm2.out: $(gen-locales) + endif diff --git a/string/tst-strxfrm2.c b/string/tst-strxfrm2.c index d5a1115338..bea5aa2cea 100644 --- a/string/tst-strxfrm2.c +++ b/string/tst-strxfrm2.c @@ -5,6 +5,8 @@ static int do_test (void) { + static const char test_locale[] = "de_DE.UTF-8"; + int res = 0; char buf[20]; @@ -38,9 +40,9 @@ do_test (void) res = 1; } - if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL) + if (setlocale (LC_ALL, test_locale) == NULL) { - puts ("setlocale failed"); + printf ("cannot set locale \"%s\"\n", test_locale); res = 1; } else