From 151b127c3a8678f491e0ec977eaa38e952b2e7bd Mon Sep 17 00:00:00 2001 From: Carmelo Amoroso Date: Wed, 26 Nov 2008 15:12:16 +0000 Subject: This patch fixes locale-mbwc test failures when __UCLIBC_HAS_LOCALE__ is disabled and __UCLIBC_HAS_WCHAR__ is enabled. The only locale available when __UCLIBC_HAS_LOCALE__ is disabled is the C locale, the others locale are skipped. Signed-off-by: Filippo Arcidiacono --- test/locale-mbwc/tst_funcs.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'test') diff --git a/test/locale-mbwc/tst_funcs.h b/test/locale-mbwc/tst_funcs.h index 552bed2f9..4bd0fb1ab 100644 --- a/test/locale-mbwc/tst_funcs.h +++ b/test/locale-mbwc/tst_funcs.h @@ -95,6 +95,7 @@ extern int result (FILE * fp, char res, const char *func, const char *loc, for (loc = 0; strcmp (TST_HEAD (o_func).locale, TST_LOC_end); ++loc) +#ifdef __UCLIBC_HAS_LOCALE__ #define TST_HEAD_LOCALE(ofunc, s_func) \ func_id = TST_HEAD (ofunc).func_id; \ locale = TST_HEAD (ofunc).locale; \ @@ -106,6 +107,29 @@ extern int result (FILE * fp, char res, const char *func, const char *loc, ++err_count; \ continue; \ } +#else +#define TST_HEAD_LOCALE(ofunc, s_func) \ + func_id = TST_HEAD (ofunc).func_id; \ + locale = TST_HEAD (ofunc).locale; \ + if (strcmp(locale, "C") == 0) \ + { \ + if (setlocale (LC_ALL, locale) == NULL) \ + { \ + fprintf (stderr, "Warning : can't set locale: %s\nskipping ...\n", \ + locale); \ + result (fp, C_LOCALES, s_func, locale, 0, 0, 0, "can't set locale"); \ + ++err_count; \ + continue; \ + } \ + } \ + else \ + { \ + fprintf (stderr, "Warning : locale %s unsupported\n\n", \ + locale); \ + result (fp, C_LOCALES, s_func, locale, 0, 0, 0, "unsupported"); \ + continue; \ + } +#endif #define TST_DO_REC(ofunc) \ for (rec=0; !TST_IS_LAST (ofunc); ++rec) -- cgit v1.2.3