]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/corefoundation/cfstring.cpp
add wxMBConvStrictUTF8 class implementing just UTF-8 conversion, without support...
[wxWidgets.git] / src / mac / corefoundation / cfstring.cpp
index 8cfdec84b80dfe889a239b2b04b9138042db527a..8571f130978cd40cb591e654fe8cf77de5354ce2 100644 (file)
@@ -47,56 +47,19 @@ void wxMacConvertNewlines10To13( char * data )
     }
 }
 
+const wxString sCR((wxChar)13);
+const wxString sLF((wxChar)10);
+
 void wxMacConvertNewlines13To10( wxString * data )
 {
-    size_t len = data->Length() ;
-
-    if ( len == 0 || wxStrchr(data->c_str(),0x0d)==NULL)
-        return ;
-
-    wxString temp(*data) ;
-    wxStringBuffer buf(*data,len ) ;
-    memcpy( buf , temp.c_str() , (len+1)*sizeof(wxChar) ) ;
-
-    wxMacConvertNewlines13To10( buf ) ;
+    data->Replace( sCR,sLF);
 }
 
 void wxMacConvertNewlines10To13( wxString * data )
 {
-    size_t len = data->Length() ;
-
-    if ( data->Length() == 0 || wxStrchr(data->c_str(),0x0a)==NULL)
-        return ;
-
-    wxString temp(*data) ;
-    wxStringBuffer buf(*data,len ) ;
-    memcpy( buf , temp.c_str() , (len+1)*sizeof(wxChar) ) ;
-    wxMacConvertNewlines10To13( buf ) ;
+    data->Replace( sLF,sCR);
 }
 
-
-#if wxUSE_UNICODE
-void wxMacConvertNewlines13To10( wxChar * data )
-{
-    wxChar * buf = data ;
-    while( (buf=wxStrchr(buf,0x0d)) != NULL )
-    {
-        *buf = 0x0a ;
-        buf++ ;
-    }
-}
-
-void wxMacConvertNewlines10To13( wxChar * data )
-{
-    wxChar * buf =  data ;
-    while( (buf=wxStrchr(buf,0x0a)) != NULL )
-    {
-        *buf = 0x0d ;
-        buf++ ;
-    }
-}
-#endif
-
 wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding)
 {
     TextEncodingBase enc = 0 ;
@@ -703,9 +666,9 @@ wxString wxMacCFStringHolder::AsString(wxFontEncoding encoding)
 #endif
 
     buf[noChars] = 0 ;
-    wxMacConvertNewlines10To13( buf ) ;
     wxString result(buf) ;
     delete[] buf ;
+    wxMacConvertNewlines10To13( &result);
     return result ;
 }