Hi Simon, Simon Josefsson wrote: > The test-localename test crashes for me: > #0 strcmp () at ../sysdeps/i386/i686/strcmp.S:39 > #1 0x08049840 in test_locale_name_thread () at test-localename.c:421 > Debugging it shows that the variables passed to strcmp are NULL.
Oops. Bad mistake of mine. This should fix it: 2009-12-30 Bruno Haible <br...@clisp.org> Fix test crash. * tests/test-localename.c (test_locale_name_thread): Skip unavailable locales. Reported by Simon Josefsson <si...@josefsson.org>. --- tests/test-localename.c.orig Thu Dec 31 02:33:24 2009 +++ tests/test-localename.c Thu Dec 31 02:29:52 2009 @@ -419,12 +419,13 @@ } /* Verify the unsaved_names are still valid. */ for (j = 0; j < SIZEOF (choices); j++) - { - unsigned int i; - - for (i = 0; i < SIZEOF (categories); i++) - ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0); - } + if (available[j]) + { + unsigned int i; + + for (i = 0; i < SIZEOF (categories); i++) + ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0); + } /* Allocate many locales, without freeing them. This is an attempt at overwriting as much of the previously allocated memory as possible. */ for (j = SIZEOF (choices); j > 0; ) @@ -447,12 +448,13 @@ } /* Verify the unsaved_names are still valid. */ for (j = 0; j < SIZEOF (choices); j++) - { - unsigned int i; - - for (i = 0; i < SIZEOF (categories); i++) - ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0); - } + if (available[j]) + { + unsigned int i; + + for (i = 0; i < SIZEOF (categories); i++) + ASSERT (strcmp (unsaved_names[j][i], saved_names[j][i]) == 0); + } } #else /* Check that gl_locale_name_thread always returns NULL. */