Fix wxRmdir() with non-ASCII paths
Don't apply at best unnecessary, and actually harmful, as it uses a wrong conversion, fn_str() when calling wxRmDir() which takes wxString. Update unit tests to check that wxRmdir() now works with non-ASCII filenames too. Closes #17644.
This commit is contained in:
parent
d145ef7205
commit
e9ce55e000
@ -84,6 +84,7 @@ All:
|
||||
wxEvtHandler and/or wxTrackable in C++11 code (Raul Tambre, mmarsan).
|
||||
- Update bundled expat to 2.2.0 (Catalin Raceanu).
|
||||
- Add wxCMD_LINE_HIDDEN wxCmdLineParser flag (Lauri Nurmi).
|
||||
- Fix wxRmdir() with non-ASCII paths (trivia21).
|
||||
- Don't crash in wxFFile::Eof() or Error() on closed file (jprotopopov).
|
||||
|
||||
All (GUI):
|
||||
|
@ -234,7 +234,7 @@ wxDebugReport::~wxDebugReport()
|
||||
|
||||
if ( !m_dir.empty() )
|
||||
{
|
||||
if ( wxRmDir(m_dir.fn_str()) != 0 )
|
||||
if ( wxRmDir(m_dir) != 0 )
|
||||
{
|
||||
wxLogSysError(_("Failed to clean up debug report directory \"%s\""),
|
||||
m_dir.c_str());
|
||||
|
@ -1192,7 +1192,7 @@ bool wxRmdir(const wxString& dir, int WXUNUSED(flags))
|
||||
#if defined(__VMS__)
|
||||
return false; //to be changed since rmdir exists in VMS7.x
|
||||
#else
|
||||
if ( wxRmDir(dir.fn_str()) != 0 )
|
||||
if ( wxRmDir(dir) != 0 )
|
||||
{
|
||||
wxLogSysError(_("Directory '%s' couldn't be deleted"), dir);
|
||||
return false;
|
||||
|
@ -524,7 +524,7 @@ void FileFunctionsTestCase::PathOnly()
|
||||
// Rmdir fails on them on Linux. See ticket #17644.
|
||||
void FileFunctionsTestCase::Mkdir()
|
||||
{
|
||||
wxString dirname = wxT("__wxMkdir_test_dir");
|
||||
wxString dirname = wxString::FromUTF8("__wxMkdir_test_dir_with_\xc3\xb6");
|
||||
const std::string msg = wxString::Format("Dir: %s", dirname).ToStdString();
|
||||
CPPUNIT_ASSERT_MESSAGE( msg, wxMkdir(dirname) );
|
||||
CPPUNIT_ASSERT_MESSAGE( msg, wxDirExists(dirname) );
|
||||
@ -533,7 +533,7 @@ void FileFunctionsTestCase::Mkdir()
|
||||
|
||||
void FileFunctionsTestCase::Rmdir()
|
||||
{
|
||||
wxString dirname = wxT("__wxRmdir_test_dir");
|
||||
wxString dirname = wxString::FromUTF8("__wxRmdir_test_dir_with_\xc3\xb6");
|
||||
const std::string msg = wxString::Format("Dir: %s", dirname).ToStdString();
|
||||
|
||||
CPPUNIT_ASSERT_MESSAGE( msg, wxMkdir(dirname) );
|
||||
|
Loading…
Reference in New Issue
Block a user