summaryrefslogtreecommitdiff
path: root/tests/test-mbrtowc-w32.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-mbrtowc-w32.c')
-rw-r--r--tests/test-mbrtowc-w32.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/tests/test-mbrtowc-w32.c b/tests/test-mbrtowc-w32.c
index ba4d755f..188798e4 100644
--- a/tests/test-mbrtowc-w32.c
+++ b/tests/test-mbrtowc-w32.c
@@ -1,5 +1,5 @@
/* Test of conversion of multibyte character to wide character.
- Copyright (C) 2008-2018 Free Software Foundation, Inc.
+ Copyright (C) 2008-2022 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
@@ -24,6 +24,7 @@
#include <stdlib.h>
#include <string.h>
+#include "localcharset.h"
#include "macros.h"
#if defined _WIN32 && !defined __CYGWIN__
@@ -476,6 +477,8 @@ test_one_locale (const char *name, int codepage)
case 54936:
/* Locale encoding is CP54936 = GB18030. */
+ if (strcmp (locale_charset (), "GB18030") != 0)
+ return 77;
{
char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */
memset (&state, '\0', sizeof (mbstate_t));
@@ -523,7 +526,7 @@ test_one_locale (const char *name, int codepage)
ASSERT (ret == 1);
ASSERT (wc == 'e');
ASSERT (mbsinit (&state));
- input[5] = '\0';
+ input[7] = '\0';
wc = (wchar_t) 0xBADFACE;
ret = mbrtowc (&wc, input + 8, 1, &state);
@@ -572,6 +575,8 @@ test_one_locale (const char *name, int codepage)
case 65001:
/* Locale encoding is CP65001 = UTF-8. */
+ if (strcmp (locale_charset (), "UTF-8") != 0)
+ return 77;
{
char input[] = "B\303\274\303\237er"; /* "Büßer" */
memset (&state, '\0', sizeof (mbstate_t));