Blame src/regression/uselocale-0.c
|
Szabolcs Nagy |
d89154 |
// commit: 63f4b9f18f3674124d8bcb119739fec85e6da005
|
|
Szabolcs Nagy |
d89154 |
// uselocale(0) should not change the current locale
|
|
Szabolcs Nagy |
d89154 |
#include <locale.h>
|
|
Szabolcs Nagy |
d89154 |
#include "test.h"
|
|
Szabolcs Nagy |
d89154 |
|
|
Szabolcs Nagy |
d89154 |
int main(void)
|
|
Szabolcs Nagy |
d89154 |
{
|
|
Szabolcs Nagy |
d89154 |
locale_t c = newlocale(LC_ALL_MASK, "C", 0);
|
|
Szabolcs Nagy |
d89154 |
|
|
Szabolcs Nagy |
d89154 |
if (!c) {
|
|
Szabolcs Nagy |
d89154 |
t_error("newlocale failed\n");
|
|
Szabolcs Nagy |
d89154 |
return t_status;
|
|
Szabolcs Nagy |
d89154 |
}
|
|
Szabolcs Nagy |
d89154 |
|
|
Szabolcs Nagy |
d89154 |
if (!uselocale(c))
|
|
Szabolcs Nagy |
d89154 |
t_error("uselocale(c) failed\n");
|
|
Szabolcs Nagy |
d89154 |
|
|
Szabolcs Nagy |
d89154 |
locale_t l1 = uselocale(0);
|
|
Szabolcs Nagy |
d89154 |
if (l1 != c)
|
|
Szabolcs Nagy |
d89154 |
t_error("uselocale failed to set locale: "
|
|
Szabolcs Nagy |
d89154 |
"%p != %p\n", (void*)l1, (void*)c);
|
|
Szabolcs Nagy |
d89154 |
|
|
Szabolcs Nagy |
d89154 |
locale_t l2 = uselocale(0);
|
|
Szabolcs Nagy |
d89154 |
if (l2 != l1)
|
|
Szabolcs Nagy |
d89154 |
t_error("uselocale(0) changed locale: "
|
|
Szabolcs Nagy |
d89154 |
"%p != %p\n", (void*)l2, (void*)l1);
|
|
Szabolcs Nagy |
d89154 |
|
|
Szabolcs Nagy |
d89154 |
return t_status;
|
|
Szabolcs Nagy |
d89154 |
}
|