}
//Increment to next (sub)string
- //Note that we have to use strlen here instead of nLen
- //here because XX2XX gives us the size of the output buffer,
- //not neccessarly the length of the string
+ //Note that we have to use strlen instead of nLen here
+ //because XX2XX gives us the size of the output buffer,
+ //which is not necessarily the length of the string
szPos += strlen(szPos) + 1;
}
}
//Increment to next (sub)string
- //Note that we have to use wxWcslen here instead of nLen
- //here because XX2XX gives us the size of the output buffer,
- //not neccessarly the length of the string
+ //Note that we have to use wxWcslen instead of nLen here
+ //because XX2XX gives us the size of the output buffer,
+ //which is not necessarily the length of the string
szPos += wxWcslen(szPos) + 1;
}
// wxConvBrokenFileNames
// ----------------------------------------------------------------------------
-wxConvBrokenFileNames::wxConvBrokenFileNames()
+wxConvBrokenFileNames::wxConvBrokenFileNames(const wxChar *charset)
{
- // decide which conversion to use for the file names
-
- // (1) this variable exists for the sole purpose of specifying the encoding
- // of the filenames for GTK+ programs, so use it if it is set
- wxString encName(wxGetenv(_T("G_FILENAME_ENCODING")));
- encName.MakeUpper();
- if ( !encName.empty() && encName != _T("UTF-8") && encName != _T("UTF8") )
- {
- m_conv = new wxCSConv(encName);
- }
- else // no G_FILENAME_ENCODING
- {
-#if wxUSE_INTL
- if ( encName.empty() )
- encName = wxLocale::GetSystemEncodingName().Upper();
-#endif
-
- // (2) if a non default locale is set, assume that the user wants his
- // filenames in this locale too
- if ( !encName.empty() && encName != _T("UTF-8") && encName != _T("UTF8") )
- {
- wxSetEnv(_T("G_FILENAME_ENCODING"), encName);
- m_conv = new wxCSConv(encName);
- }
- else
- {
- // (3) finally use UTF-8 by default
- m_conv = new wxMBConvUTF8(wxMBConvUTF8::MAP_INVALID_UTF8_TO_OCTAL);
- }
- }
+ if ( !charset || wxStricmp(charset, _T("UTF-8")) == 0
+ || wxStricmp(charset, _T("UTF8")) == 0 )
+ m_conv = new wxMBConvUTF8(wxMBConvUTF8::MAP_INVALID_UTF8_TO_OCTAL);
+ else
+ m_conv = new wxCSConv(charset);
}
size_t