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]

Reply via email to