amassari 2004/01/06 13:52:28 Modified: c/src/xercesc/util/Transcoders/Win32 Win32TransService.cpp Log: Replaced the call to wcstombs using a NULL target buffer with the equivalent call to WideCharToMultiByte (bug# 25768) Revision Changes Path 1.17 +4 -24 xml-xerces/c/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp Index: Win32TransService.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/Transcoders/Win32/Win32TransService.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- Win32TransService.cpp 24 Dec 2003 15:24:15 -0000 1.16 +++ Win32TransService.cpp 6 Jan 2004 21:52:28 -0000 1.17 @@ -867,15 +867,7 @@ if (!srcText) return 0; - unsigned int retVal = -1; - - #if defined(XML_METROWERKS) - const unsigned int srcLen = ::wcslen(srcText); - retVal = ::wcsmbslen(srcText, srcLen); - #else - retVal = ::wcstombs(0, srcText, 0); - #endif - + const unsigned int retVal = ::WideCharToMultiByte(CP_ACP, 0, srcText, -1, NULL, 0, NULL, NULL); if (retVal == (unsigned int)-1) return 0; return retVal; @@ -892,17 +884,7 @@ if (*toTranscode) { // Calc the needed size - unsigned int neededLen; - - #if defined(XML_METROWERKS) - const unsigned int srcLen = ::wcslen(toTranscode); - neededLen = ::wcsmbslen(toTranscode, srcLen); - #else - neededLen = ::wcstombs(0, toTranscode, 0); - #endif - - if (neededLen == (unsigned int)-1) - return 0; + const unsigned int neededLen = calcRequiredSize(toTranscode); // Allocate a buffer of that size plus one for the null and transcode retVal = new char[neededLen + 1]; @@ -929,9 +911,7 @@ if (*toTranscode) { // Calc the needed size - const unsigned int neededLen = ::wcstombs(0, toTranscode, 0); - if (neededLen == (unsigned int)-1) - return 0; + const unsigned int neededLen = calcRequiredSize(toTranscode, manager); // Allocate a buffer of that size plus one for the null and transcode retVal = (char*) manager->allocate((neededLen + 1) * sizeof(char)); //new char[neededLen + 1];
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]