summaryrefslogtreecommitdiff
path: root/tests/test-mbrtowc.c
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2018-03-07 05:31:29 +0100
committerJörg Frings-Fürst <debian@jff.email>2018-03-07 05:31:29 +0100
commit69bb64199daa7706d4b74d13b65d88ba8aab5e57 (patch)
tree55f95f9bd36ff038dc60f1f6994baef78d735ba9 /tests/test-mbrtowc.c
parent0cb66c451a1a4e717878b8296b79c8d7cfd38b30 (diff)
parentf7c3580478601e3a77dc864e5a1d91c1edad5187 (diff)
Update upstream source from tag 'upstream/0.9.9'
Update to upstream version '0.9.9' with Debian dir 17ff42c74c83731ce6c9bc739436c59103f706be
Diffstat (limited to 'tests/test-mbrtowc.c')
-rw-r--r--tests/test-mbrtowc.c12
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);