tng 2003/02/06 06:31:24
Modified: c/src/xercesc/util/Transcoders/Win32 Win32TransService.cpp
Log:
[Bug 14599] Xerces does not build with CodeWarrior tools on Windows. Fixed by Zeid
Derhally.
Revision Changes Path
1.7 +13 -3
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.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Win32TransService.cpp 10 Jan 2003 18:44:29 -0000 1.6
+++ Win32TransService.cpp 6 Feb 2003 14:31:24 -0000 1.7
@@ -417,7 +417,9 @@
if (aliasedEntry)
{
const unsigned int srcLen = strlen(nameBuf);
- const unsigned int targetLen = ::mbstowcs(0, nameBuf, srcLen);
+ const unsigned charLen = ::mblen(nameBuf, MB_CUR_MAX);
+ const unsigned int targetLen = srcLen/charLen;
+
XMLCh* uniName = new XMLCh[targetLen + 1];
::mbstowcs(uniName, nameBuf, srcLen);
uniName[targetLen] = 0;
@@ -849,7 +851,15 @@
if (!srcText)
return 0;
- const unsigned int retVal = ::wcstombs(0, srcText, 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
+
if (retVal == (unsigned int)-1)
return 0;
return retVal;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]