X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-mbsrtowcs.c;h=81e67c1c87cf6b1491890b876edc40931f58a739;hb=757fcfd1ef1892f1472c0712acdf8a2d4ec774da;hp=27fd58ce19d3c912a833568b0ca98a27cab48f43;hpb=6d65e7578f692b2d06574e25a848cef93b02ed25;p=gnulib.git diff --git a/tests/test-mbsrtowcs.c b/tests/test-mbsrtowcs.c index 27fd58ce1..81e67c1c8 100644 --- a/tests/test-mbsrtowcs.c +++ b/tests/test-mbsrtowcs.c @@ -88,6 +88,7 @@ main (int argc, char *argv[]) #define BUFSIZE 10 wchar_t buf[BUFSIZE]; const char *src; + mbstate_t temp_state; { size_t i; @@ -118,7 +119,8 @@ main (int argc, char *argv[]) input[1] = '\0'; src = input + 2; - ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 1, &state); + temp_state = state; + ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 1, &temp_state); ASSERT (ret == 3); ASSERT (src == input + 2); ASSERT (mbsinit (&state)); @@ -139,7 +141,7 @@ main (int argc, char *argv[]) ASSERT (buf[1] == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } - return 0; + break; case '2': /* Locale encoding is UTF-8. */ @@ -162,7 +164,8 @@ main (int argc, char *argv[]) input[1] = '\0'; src = input + 2; - ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 2, &state); + temp_state = state; + ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 2, &temp_state); ASSERT (ret == 4); ASSERT (src == input + 2); ASSERT (!mbsinit (&state)); @@ -184,7 +187,7 @@ main (int argc, char *argv[]) ASSERT (buf[2] == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } - return 0; + break; case '3': /* Locale encoding is EUC-JP. */ @@ -215,7 +218,8 @@ main (int argc, char *argv[]) input[3] = '\0'; src = input + 4; - ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 2, &state); + temp_state = state; + ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 2, &temp_state); ASSERT (ret == 3); ASSERT (src == input + 4); ASSERT (!mbsinit (&state)); @@ -236,7 +240,7 @@ main (int argc, char *argv[]) ASSERT (buf[2] == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } - return 0; + break; case '4': /* Locale encoding is GB18030. */ @@ -259,7 +263,8 @@ main (int argc, char *argv[]) input[1] = '\0'; src = input + 2; - ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 2, &state); + temp_state = state; + ret = mbsrtowcs (NULL, &src, unlimited ? BUFSIZE : 2, &temp_state); ASSERT (ret == 4); ASSERT (src == input + 2); ASSERT (!mbsinit (&state)); @@ -281,7 +286,7 @@ main (int argc, char *argv[]) ASSERT (buf[2] == (wchar_t) 0xBADFACE); ASSERT (mbsinit (&state)); } - return 0; + break; default: return 1;