git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5272
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
wxFAIL_MSG(wxT("bad file type in wxTextFile::GetEOL."));
// fall through nevertheless - we must return something...
wxFAIL_MSG(wxT("bad file type in wxTextFile::GetEOL."));
// fall through nevertheless - we must return something...
- case wxTextFileType_None: return wxT("");
- case wxTextFileType_Unix: return wxT("\n");
- case wxTextFileType_Dos: return wxT("\r\n");
- case wxTextFileType_Mac: return wxT("\r");
+ case wxTextFileType_None: return wxT(_T(""));
+ case wxTextFileType_Unix: return wxT(_T("\n"));
+ case wxTextFileType_Dos: return wxT(_T("\r\n"));
+ case wxTextFileType_Mac: return wxT(_T("\r"));
wxString wxTextFile::Translate(const wxString& text, wxTextFileType type)
{
// don't do anything if there is nothing to do
wxString wxTextFile::Translate(const wxString& text, wxTextFileType type)
{
// don't do anything if there is nothing to do
{
wxChar ch = *pc;
switch ( ch ) {
{
wxChar ch = *pc;
switch ( ch ) {
// Dos/Unix line termination
result += eol;
// Dos/Unix line termination
result += eol;
- case '\r':
- if ( chLast == '\r' ) {
+ case _T('\r'):
+ if ( chLast == _T('\r') ) {
// Mac empty line
result += eol;
}
// Mac empty line
result += eol;
}
+ else {
+ // just remember it: we don't know whether it is just "\r"
+ // or "\r\n" yet
+ chLast = _T('\r');
+ }
- if ( chLast == '\r' ) {
+ if ( chLast == _T('\r') ) {
// Mac line termination
result += eol;
// Mac line termination
result += eol;
- chLast = ch;
- }
- else {
- // add to the current line
- result += ch;
+
+ // add to the current line
+ result += ch;
+ if ( chLast ) {
+ // trailing '\r'
+ result += eol;
+ }
+
case '\r':
if ( chLast == '\r' ) {
// Mac empty line
case '\r':
if ( chLast == '\r' ) {
// Mac empty line
+ m_aLines.Add(wxEmptyString);
m_aTypes.Add(wxTextFileType_Mac);
}
else
m_aTypes.Add(wxTextFileType_Mac);
}
else