mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-19 13:40:59 +08:00
(main): Also test strftime with uselocale.
This commit is contained in:
parent
a0fc81e171
commit
281058289a
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user