diff options
Diffstat (limited to 'tests/test-stdlib.c')
-rw-r--r-- | tests/test-stdlib.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/tests/test-stdlib.c b/tests/test-stdlib.c index 4fdafc99..cb6db802 100644 --- a/tests/test-stdlib.c +++ b/tests/test-stdlib.c @@ -1,5 +1,5 @@ /* Test of <stdlib.h> substitute. - Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -45,8 +45,19 @@ static_assert (sizeof NULL == sizeof (void *)); int main (void) { - if (test_sys_wait_macros ()) + /* POSIX:2018 says: + "In the POSIX locale the value of MB_CUR_MAX shall be 1." */ + /* On Android ≥ 5.0, the default locale is the "C.UTF-8" locale, not the + "C" locale. Furthermore, when you attempt to set the "C" or "POSIX" + locale via setlocale(), what you get is a "C" locale with UTF-8 encoding, + that is, effectively the "C.UTF-8" locale. */ +#ifndef __ANDROID__ + if (MB_CUR_MAX != 1) return 1; +#endif + + if (test_sys_wait_macros ()) + return 2; return exitcode; } |