X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dfd468aafd8c2b0c6db2c8d56ddca04e26c45715..65fd2fc2616552e4204223b7c2b69d9bc87c1f2d:/src/mac/corefoundation/cfstring.cpp diff --git a/src/mac/corefoundation/cfstring.cpp b/src/mac/corefoundation/cfstring.cpp index 4e71aeee0d..8571f13097 100644 --- a/src/mac/corefoundation/cfstring.cpp +++ b/src/mac/corefoundation/cfstring.cpp @@ -47,55 +47,18 @@ 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 ) ; -} - - -#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++ ; - } + data->Replace( sLF,sCR); } -#endif wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) { @@ -105,9 +68,10 @@ wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding) #if wxUSE_GUI encoding = wxFont::GetDefaultEncoding() ; #else - encoding = wxLocale::GetSystemEncoding() ; + encoding = wxFONTENCODING_SYSTEM; // to be set below #endif } + if ( encoding == wxFONTENCODING_SYSTEM ) { enc = CFStringGetSystemEncoding(); @@ -702,9 +666,9 @@ wxString wxMacCFStringHolder::AsString(wxFontEncoding encoding) #endif buf[noChars] = 0 ; - wxMacConvertNewlines10To13( buf ) ; wxString result(buf) ; delete[] buf ; + wxMacConvertNewlines10To13( &result); return result ; }