diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2018-03-07 05:54:53 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2018-03-07 05:54:53 +0100 |
commit | 76ef1d8e3249e82a6965fd17157bee00a7857ff3 (patch) | |
tree | 7d3d34b059039faf525d1e95bbdc1945a9fa103c /tests/test-mbrtowc.c | |
parent | 0cb66c451a1a4e717878b8296b79c8d7cfd38b30 (diff) | |
parent | 93e8e16be294d19261c7378dd2e46d3f35f06926 (diff) |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'tests/test-mbrtowc.c')
-rw-r--r-- | tests/test-mbrtowc.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/test-mbrtowc.c b/tests/test-mbrtowc.c index e16b977..44da295 100644 --- a/tests/test-mbrtowc.c +++ b/tests/test-mbrtowc.c @@ -1,5 +1,5 @@ /* Test of conversion of multibyte character to wide character. - Copyright (C) 2008-2017 Free Software Foundation, Inc. + Copyright (C) 2008-2018 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 @@ -103,7 +103,15 @@ main (int argc, char *argv[]) wc = (wchar_t) 0xBADFACE; ret = mbrtowc (&wc, buf, 1, &state); ASSERT (ret == 1); - ASSERT (wc == c); + if (c < 0x80) + /* c is an ASCII character. */ + ASSERT (wc == c); + else + /* argv[1] starts with '5', that is, we are testing the C or POSIX + locale. + On most platforms, the bytes 0x80..0xFF map to U+0080..U+00FF. + But on musl libc, the bytes 0x80..0xFF map to U+DF80..U+DFFF. */ + ASSERT (wc == (btowc (c) == WEOF ? c : btowc (c))); ASSERT (mbsinit (&state)); ret = mbrtowc (NULL, buf, 1, &state); ASSERT (ret == 1); |