📄 i18nmb.c
字号:
CYG_TEST_PASS_FAIL( *wcptr == mbtowcjis0[j], "*wcptr"); ptr += result; wcptr++; ++j; } CYG_TEST_PASS_FAIL( wcptr - wcbuff == 7, "wcptr - wcbuff"); CYG_TEST_PASS_FAIL( wcbuff[6] == 0, "wcbuff[6]"); memset (buff, 'K', 40); ptr = buff; wcptr = wcbuff; result = 1; for (i = 0; i < 7; ++i) { result = wctomb (ptr, *wcptr); ptr += result; wcptr++; } CYG_TEST_PASS_FAIL( strcmp(testjis[0], buff) == 0, "strcmp(testjis[0], buff"); result = wctomb (buff, (wchar_t)0x1111); CYG_TEST_PASS_FAIL( result == -1, "wctomb(buff, (wchar_t)0x1111)"); result = mbstowcs (wcbuff, testjis[3], 8); CYG_TEST_PASS_FAIL( result == -1, "mbstowcs(wcbuff, testjis[3], 8)"); memset (wcbuff, 'K', 40); result = mbstowcs (wcbuff, testjis[0], 8); CYG_TEST_PASS_FAIL( result == 6, "mbstowcs(wcbuff, testjis[0], 8)"); CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[7])) == 'K', "*((char *)(&wcbuff[7]))"); CYG_TEST_PASS_FAIL( wcbuff[6] == 0, "wcbuff[6]"); memset (wcbuff, 'K', 40); result = mbstowcs (wcbuff, testjis[0], 6); CYG_TEST_PASS_FAIL( result == 6, "mbstowcs (wcbuff, testjis[0], 6)"); CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[6])) == 'K', "*((char *)(&wcbuff[6]))"); memset (wcbuff, 'K', 40); result = mbstowcs (wcbuff, testjis[0], 7); CYG_TEST_PASS_FAIL( result == 6, "mbstowcs (wcbuff, testjis[0], 7)"); CYG_TEST_PASS_FAIL(*((char *)(&wcbuff[7])) == 'K', "*((char *)(&wcbuff[7]))"); CYG_TEST_PASS_FAIL( wcbuff[6] == 0, "wcbuff[6]"); memset(buff, 'K', 20); result = wcstombs (buff, wcbuff, 20); CYG_TEST_PASS_FAIL( result == 14, "wcstombs (buff, wcbuff, 20)"); CYG_TEST_PASS_FAIL( strcmp(buff, testjis[0]) == 0, "strcmp(buff, testjis[0])"); memset (buff, 'K', 20); result = wcstombs (buff, wcbuff, 14); CYG_TEST_PASS_FAIL( result == 14, "wcstombs (buff, wcbuff, 14)"); CYG_TEST_PASS_FAIL( memcmp (buff, testjis[0], 14) == 0, "memcmp (buff, testjis[0], 14)"); CYG_TEST_PASS_FAIL( buff[14] == 'K', "buff[14]"); memset (buff, 'K', 20); result = wcstombs (buff, wcbuff, 15); CYG_TEST_PASS_FAIL( result == 14, "wcstombs (buff, wcbuff, 15)"); CYG_TEST_PASS_FAIL( memcmp (buff, testjis[0], 14) == 0, "memcmp (buff, testjis[0], 14)"); CYG_TEST_PASS_FAIL( buff[14] == '\0', "buff[14]"); result = wcstombs (buff, (wchar_t *)"\x23\x10", 2); CYG_TEST_PASS_FAIL( result == -1, "wcstombs (buff, (wchar_t *)\"\x23\x10\", 2)"); result = sscanf (in_jis, fmt_jis, &k); CYG_TEST_PASS_FAIL( result == 1, "sscanf (in_jis, fmt_jis, &k)"); CYG_TEST_PASS_FAIL( k == 23, "k"); sprintf (buff, fmt_jis, 23); CYG_TEST_PASS_FAIL( strcmp(buff, in_jis) == 0, "sprintf(buff, fmt_jis, 23)"); locale = setlocale(LC_ALL, "C"); locale = setlocale(LC_CTYPE, NULL); CYG_TEST_PASS_FAIL( strcmp(locale, "C") == 0, "previous locale"); CYG_TEST_PASS_FAIL( MB_CUR_MAX == 1, "MB_CUR_MAX");#endif /* CYGFUN_LIBC_I18N_LOCALE_C_JIS */#ifdef CYGFUN_LIBC_I18N_LOCALE_C_SJIS CYG_TEST_INFO( "Testing C-SJIS locale" ); locale = setlocale (LC_CTYPE, "C-SJIS"); CYG_TEST_PASS_FAIL( locale != NULL, "setlocale (LC_CTYPE, \"C-SJIS\")"); CYG_TEST_PASS_FAIL( strcmp(locale, "C-SJIS") == 0, "setlocale(LC_CTYPE, \"C-SJIS\")"); locale = setlocale (LC_CTYPE, NULL); CYG_TEST_PASS_FAIL( strcmp(locale, "C-SJIS") == 0, "setlocale(LC_CTYPE, NULL)"); CYG_TEST_PASS_FAIL( MB_CUR_MAX == 2, "MB_CUR_MAX"); CYG_TEST_PASS_FAIL( mblen(NULL, 0) == 0, "mblen(NULL, 0)"); CYG_TEST_PASS_FAIL( mbtowc(NULL, NULL, 0) == 0, "mbtowc(NULL, NULL, 0)"); CYG_TEST_PASS_FAIL( wctomb(NULL, 0) == 0, "wctomb(NULL, 0)"); for (i = 0; i < sizeof(testsjis) / sizeof(char *); ++i) { ptr = testsjis[i]; result = 1; j = 0; while (result > 0) { result = mblen (ptr, MB_CUR_MAX); CYG_TEST_PASS_FAIL( result == mblensjis[i][j], "mblen (ptr, MB_CUR_MAX)"); ptr += result; ++j; } } ptr = testsjis[0]; wcptr = wcbuff; memset(wcbuff, 'K', 40); result = 1; j = 0; while (result > 0) { result = mbtowc (wcptr, ptr, MB_CUR_MAX); CYG_TEST_PASS_FAIL( result == mblensjis0[j], "mbtowc (wcptr, ptr, MB_CUR_MAX)"); CYG_TEST_PASS_FAIL( *wcptr == mbtowcsjis0[j], "*wcptr"); ptr += result; wcptr++; ++j; } CYG_TEST_PASS_FAIL( wcptr - wcbuff == 9, "wcptr - wcbuff"); CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]"); memset (buff, 'K', 40); ptr = buff; wcptr = wcbuff; result = 1; for (i = 0; i < 9; ++i) { result = wctomb (ptr, *wcptr); ptr += result; wcptr++; } CYG_TEST_PASS_FAIL( strcmp(testsjis[0], buff) == 0, "strcmp(testsjis[0], buff"); result = wctomb (buff, (wchar_t)0x1111); CYG_TEST_PASS_FAIL( result == -1, "wctomb(buff, (wchar_t)0x1111)"); result = mbstowcs (wcbuff, testsjis[5], 8); CYG_TEST_PASS_FAIL( result == -1, "mbstowcs(wcbuff, testjis[3], 8)"); memset (wcbuff, 'K', 40); result = mbstowcs (wcbuff, testsjis[0], 20); CYG_TEST_PASS_FAIL( result == 8, "mbstowcs(wcbuff, testsjis[0], 20)"); CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[9])) == 'K', "*((char *)(&wcbuff[9]))"); CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]"); memset (wcbuff, 'K', 40); result = mbstowcs (wcbuff, testsjis[0], 8); CYG_TEST_PASS_FAIL( result == 8, "mbstowcs (wcbuff, testsjis[0], 8)"); CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[8])) == 'K', "*((char *)(&wcbuff[8]))"); memset (wcbuff, 'K', 40); result = mbstowcs (wcbuff, testsjis[0], 9); CYG_TEST_PASS_FAIL( result == 8, "mbstowcs (wcbuff, testsjis[0], 9)"); CYG_TEST_PASS_FAIL(*((char *)(&wcbuff[9])) == 'K', "*((char *)(&wcbuff[9]))"); CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]"); memset(buff, 'K', 20); result = wcstombs (buff, wcbuff, 20); CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 20)"); CYG_TEST_PASS_FAIL( strcmp(buff, testsjis[0]) == 0, "strcmp(buff, testjis[0])"); memset (buff, 'K', 20); result = wcstombs (buff, wcbuff, 12); CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 12)"); CYG_TEST_PASS_FAIL( memcmp (buff, testsjis[0], 12) == 0, "memcmp (buff, testsjis[0], 12)"); CYG_TEST_PASS_FAIL( buff[12] == 'K', "buff[12]"); memset (buff, 'K', 20); result = wcstombs (buff, wcbuff, 13); CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 12)"); CYG_TEST_PASS_FAIL( memcmp (buff, testsjis[0], 13) == 0, "memcmp (buff, testsjis[0], 13)"); CYG_TEST_PASS_FAIL( buff[12] == '\0', "buff[12]"); result = wcstombs (buff, (wchar_t *)"\x23\x10", 2); CYG_TEST_PASS_FAIL( result == -1, "wcstombs (buff, (wchar_t *)\"\x23\x10\", 2)"); result = sscanf (in_sjis, fmt_sjis, &k); CYG_TEST_PASS_FAIL( result == 1, "sscanf (in_sjis, fmt_sjis, &k)"); CYG_TEST_PASS_FAIL( k == 23, "k"); sprintf (buff, fmt_sjis, 23); CYG_TEST_PASS_FAIL( strcmp(buff, in_sjis) == 0, "sprintf(buff, fmt_sjis, 23)"); locale = setlocale(LC_ALL, "C"); locale = setlocale(LC_CTYPE, NULL); CYG_TEST_PASS_FAIL( strcmp(locale, "C") == 0, "previous locale"); CYG_TEST_PASS_FAIL( MB_CUR_MAX == 1, "MB_CUR_MAX");#endif /* CYGFUN_LIBC_I18N_LOCALE_C_SJIS */#ifdef CYGFUN_LIBC_I18N_LOCALE_C_EUCJP CYG_TEST_INFO( "Testing C-EUCJP locale" ); locale = setlocale (LC_CTYPE, "C-EUCJP"); CYG_TEST_PASS_FAIL( locale != NULL, "setlocale (LC_CTYPE, \"C-EUCJP\")"); CYG_TEST_PASS_FAIL( strcmp(locale, "C-EUCJP") == 0, "setlocale(LC_CTYPE, \"C-EUCJP\")"); locale = setlocale (LC_CTYPE, NULL); CYG_TEST_PASS_FAIL( strcmp(locale, "C-EUCJP") == 0, "current locale"); CYG_TEST_PASS_FAIL( MB_CUR_MAX == 2, "MB_CUR_MAX"); CYG_TEST_PASS_FAIL( mblen(NULL, 0) == 0, "mblen(NULL, 0)"); CYG_TEST_PASS_FAIL( mbtowc(NULL, NULL, 0) == 0, "mbtowc(NULL, NULL, 0)"); CYG_TEST_PASS_FAIL( wctomb(NULL, 0) == 0, "wctomb(NULL, 0)"); for (i = 0; i < sizeof(testeucjp) / sizeof(char *); ++i) { ptr = testeucjp[i]; result = 1; j = 0; while (result > 0) { result = mblen (ptr, MB_CUR_MAX); CYG_TEST_PASS_FAIL( result == mbleneucjp[i][j], "mblen (ptr, MB_CUR_MAX)"); ptr += result; ++j; } } ptr = testeucjp[0]; wcptr = wcbuff; memset(wcbuff, 'K', 40); result = 1; j = 0; while (result > 0) { result = mbtowc (wcptr, ptr, MB_CUR_MAX); CYG_TEST_PASS_FAIL( result == mbleneucjp0[j], "mbtowc (wcptr, ptr, MB_CUR_MAX)"); CYG_TEST_PASS_FAIL( *wcptr == mbtowceucjp0[j], "*wcptr"); ptr += result; wcptr++; ++j; } CYG_TEST_PASS_FAIL( wcptr - wcbuff == 9, "wcptr - wcbuff"); CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]"); memset (buff, 'K', 40); ptr = buff; wcptr = wcbuff; result = 1; for (i = 0; i < 9; ++i) { result = wctomb (ptr, *wcptr); ptr += result; wcptr++; } CYG_TEST_PASS_FAIL( strcmp(testeucjp[0], buff) == 0, "strcmp(testeucjp[0], buff"); result = wctomb (buff, (wchar_t)0x1111); CYG_TEST_PASS_FAIL( result == -1, "wctomb(buff, (wchar_t)0x1111)"); result = mbstowcs (wcbuff, testeucjp[5], 8); CYG_TEST_PASS_FAIL( result == -1, "mbstowcs(wcbuff, testjis[3], 8)"); memset (wcbuff, 'K', 40); result = mbstowcs (wcbuff, testeucjp[0], 20); CYG_TEST_PASS_FAIL( result == 8, "mbstowcs(wcbuff, testeucjp[0], 20)"); CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[9])) == 'K', "*((char *)(&wcbuff[9]))"); CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]"); memset (wcbuff, 'K', 40); result = mbstowcs (wcbuff, testeucjp[0], 8); CYG_TEST_PASS_FAIL( result == 8, "mbstowcs (wcbuff, testeucjp[0], 8)"); CYG_TEST_PASS_FAIL( *((char *)(&wcbuff[8])) == 'K', "*((char *)(&wcbuff[8]))"); memset (wcbuff, 'K', 40); result = mbstowcs (wcbuff, testeucjp[0], 9); CYG_TEST_PASS_FAIL( result == 8, "mbstowcs (wcbuff, testeucjp[0], 9)"); CYG_TEST_PASS_FAIL(*((char *)(&wcbuff[9])) == 'K', "*((char *)(&wcbuff[9]))"); CYG_TEST_PASS_FAIL( wcbuff[8] == 0, "wcbuff[8]"); memset(buff, 'K', 20); result = wcstombs (buff, wcbuff, 20); CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 20)"); CYG_TEST_PASS_FAIL( strcmp(buff, testeucjp[0]) == 0, "strcmp(buff, testjis[0])"); memset (buff, 'K', 20); result = wcstombs (buff, wcbuff, 12); CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 12)"); CYG_TEST_PASS_FAIL( memcmp (buff, testeucjp[0], 12) == 0, "memcmp (buff, testeucjp[0], 12)"); CYG_TEST_PASS_FAIL( buff[12] == 'K', "buff[12]"); memset (buff, 'K', 20); result = wcstombs (buff, wcbuff, 13); CYG_TEST_PASS_FAIL( result == 12, "wcstombs (buff, wcbuff, 12)"); CYG_TEST_PASS_FAIL( memcmp (buff, testeucjp[0], 13) == 0, "memcmp (buff, testeucjp[0], 13)"); CYG_TEST_PASS_FAIL( buff[12] == '\0', "buff[12]"); result = wcstombs (buff, (wchar_t *)"\x23\x10", 2); CYG_TEST_PASS_FAIL( result == -1, "wcstombs (buff, (wchar_t *)\"\x23\x10\", 2)"); result = sscanf (in_eucjp, fmt_eucjp, &k); CYG_TEST_PASS_FAIL( result == 1, "sscanf (in_eucjp, fmt_eucjp, &k)"); CYG_TEST_PASS_FAIL( k == 23, "k"); sprintf (buff, fmt_eucjp, 23); CYG_TEST_PASS_FAIL( strcmp(buff, in_eucjp) == 0, "sprintf(buff, fmt_eucjp, 23)"); locale = setlocale(LC_ALL, "C"); locale = setlocale(LC_CTYPE, NULL); CYG_TEST_PASS_FAIL( strcmp(locale, "C") == 0, "previous locale"); CYG_TEST_PASS_FAIL( MB_CUR_MAX == 1, "MB_CUR_MAX");#endif /* CYGFUN_LIBC_I18N_LOCALE_C_EUCJP */ CYG_TEST_FINISH( "Finished tests from testcase " __FILE__ " for C library " "<stdlib.h> multibyte character functions" ); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -