From: Ulrich Drepper Date: Sat, 31 Aug 2002 20:15:31 +0000 (+0000) Subject: (main): Also test strftime with uselocale. X-Git-Tag: cvs/glibc-2-3~250 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=281058289a8c7ccf038eccec9a414eb5ef79c2f9;p=platform%2Fupstream%2Fglibc.git (main): Also test strftime with uselocale. --- diff --git a/time/tst-ftime_l.c b/time/tst-ftime_l.c index 6ebc973..fc3d78d 100644 --- a/time/tst-ftime_l.c +++ b/time/tst-ftime_l.c @@ -10,10 +10,12 @@ int main (void) { locale_t l; + locale_t old; struct tm tm; char buf[1000]; wchar_t wbuf[1000]; int result = 0; + size_t n; l = newlocale (LC_ALL_MASK, "de_DE.ISO-8859-1", NULL); if (l == NULL) @@ -81,5 +83,44 @@ main (void) setlocale (LC_ALL, "C"); } + old = uselocale (l); + + n = strftime (buf, sizeof (buf), "%e %^B %Y", &tm); + + /* Switch back. */ + (void) uselocale (old); + + if (n == 0) + { + puts ("strftime after first uselocale failed"); + result = 1; + } + else if (strcmp (buf, " 1 M\xc4RZ 2002") != 0) + { + printf ("strftime in non-C locale: expected \"%s\", got \"%s\"\n", + " 1 M\xc4RZ 2002", buf); + result = 1; + } + else + { + setlocale (LC_ALL, "de_DE.ISO-8859-1"); + printf ("got \"%s\"\n", buf); + setlocale (LC_ALL, "C"); + } + + if (strftime (buf, sizeof (buf), "%e %^B %Y", &tm) == 0) + { + puts ("strftime after second uselocale failed"); + result = 1; + } + else if (strcmp (buf, " 1 MARCH 2002") != 0) + { + printf ("initial strftime: expected \"%s\", got \"%s\"\n", + " 1 MARCH 2002", buf); + result = 1; + } + else + printf ("got \"%s\"\n", buf); + return result; }