/////////////////////////////////////////////////////////////////////////////
-// Name: src/mac/corefoundation/strconv.cpp
+// Name: src/osx/corefoundation/strconv.cpp
// Purpose: Unicode conversion classes
// Author: David Elliott
// Modified by:
* assume ABI compatibility even within a given wxWidgets release.
*/
+#if wxUSE_FONTMAP
WXDLLIMPEXP_BASE wxMBConv* new_wxMBConv_cf( const char* name)
{
wxMBConv_cf *result = new wxMBConv_cf(name);
else
return result;
}
+#endif // wxUSE_FONTMAP
WXDLLIMPEXP_BASE wxMBConv* new_wxMBConv_cf(wxFontEncoding encoding)
{
false //no BOM/external representation
));
- wxCHECK(theString != NULL, wxCONV_FAILED);
+ if ( theString == NULL )
+ return wxCONV_FAILED;
/* NOTE: The string content includes the NULL element if the source string did
* That means we have to do nothing special because the destination will have
dstSize * sizeof(wchar_t),
&usedBufLen);
- // charsConverted is > 0 iff conversion succeeded
- if(charsConverted <= 0)
+ if(charsConverted < CFStringGetLength(theString))
return wxCONV_FAILED;
/* usedBufLen is the number of bytes written, so we divide by
else
{
// NOTE: Includes NULL iff source did
- /* NOTE: This is an approximation. The eventual UTF-32 will
+ /* NOTE: This is an approximation. The eventual UTF-32 will
* possibly have less elements but certainly not more.
*/
size_t returnSize = CFStringGetLength(theString);
-
+
if (dstSize == 0 || dst == NULL)
{
return returnSize;
// for an undersized UTF-32 destination buffer.
CFRange fullStringRange = CFRangeMake(0, CFStringGetLength(theString));
UniChar *szUniCharBuffer = new UniChar[fullStringRange.length];
-
+
CFStringGetCharacters(theString, fullStringRange, szUniCharBuffer);
-
+
wxMBConvUTF16 converter;
returnSize = converter.ToWChar( dst, dstSize, (const char*)szUniCharBuffer, fullStringRange.length );
delete [] szUniCharBuffer;
-
+
return returnSize;
}
// NOTREACHED
CFIndex usedBufLen;
CFIndex charsConverted = CFStringGetBytes(
- theString,
+ theString,
CFRangeMake(0, CFStringGetLength(theString)),
m_encoding,
0, // FAIL on unconvertible characters
&usedBufLen
);
- // charsConverted is > 0 iff conversion succeeded
- if(charsConverted <= 0)
+ if(charsConverted < CFStringGetLength(theString) )
return wxCONV_FAILED;
return usedBufLen;