From 4a0b7d1bd05e33ecd6b92a8e0e318af759b156d1 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Sat, 18 Sep 2010 15:51:37 +0000 Subject: [PATCH] * don't try to check __isctype((char)255), as it will clash with neutral/identity value at -1 (EOF) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38707 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/system/libroot/posix/locale_test.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/tests/system/libroot/posix/locale_test.cpp b/src/tests/system/libroot/posix/locale_test.cpp index 66d805d92b..9428d858e0 100644 --- a/src/tests/system/libroot/posix/locale_test.cpp +++ b/src/tests/system/libroot/posix/locale_test.cpp @@ -691,13 +691,16 @@ test_ctype(const char* locale, const unsigned short int classInfos[], int problemCount = 0; for (int i = -1; i < 256; ++i) { unsigned short classInfo = determineFullClassInfo(i); - char iAsChar = (char)i; - unsigned short classInfoFromChar = determineFullClassInfo(iAsChar); - if (classInfo != classInfoFromChar) { - printf("\tPROBLEM: ctype((int)%d)=%x, but ctype((char)%d)=%x\n", i, - classInfo, i, classInfoFromChar); - problemCount++; + if (i < 255) { + char iAsChar = (char)i; + unsigned short classInfoFromChar = determineFullClassInfo(iAsChar); + + if (classInfo != classInfoFromChar) { + printf("\tPROBLEM: ctype((int)%d)=%x, but ctype((char)%d)=%x\n", + i, classInfo, i, classInfoFromChar); + problemCount++; + } } if (classInfo != classInfos[i + 1]) { printf("\tPROBLEM: ctype(%d) = %x (expected %x)\n", i, classInfo,