Return false from wxFileName::AppendDir() and InsertDir() on failure.
Give the caller a way to know whether the directory was valid or not. Closes #15091. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -490,9 +490,9 @@ public:
|
|||||||
|
|
||||||
// Dir accessors
|
// Dir accessors
|
||||||
size_t GetDirCount() const { return m_dirs.size(); }
|
size_t GetDirCount() const { return m_dirs.size(); }
|
||||||
void AppendDir(const wxString& dir);
|
bool AppendDir(const wxString& dir);
|
||||||
void PrependDir(const wxString& dir);
|
void PrependDir(const wxString& dir);
|
||||||
void InsertDir(size_t before, const wxString& dir);
|
bool InsertDir(size_t before, const wxString& dir);
|
||||||
void RemoveDir(size_t pos);
|
void RemoveDir(size_t pos);
|
||||||
void RemoveLastDir() { RemoveDir(GetDirCount() - 1); }
|
void RemoveLastDir() { RemoveDir(GetDirCount() - 1); }
|
||||||
|
|
||||||
|
@@ -337,12 +337,17 @@ public:
|
|||||||
wxPathFormat format = wxPATH_NATIVE);
|
wxPathFormat format = wxPATH_NATIVE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Appends a directory component to the path. This component should contain a
|
Appends a directory component to the path.
|
||||||
single directory name level, i.e. not contain any path or volume separators nor
|
|
||||||
should it be empty, otherwise the function does nothing (and generates an
|
This component should contain a single directory name level, i.e. not
|
||||||
assert failure in debug build).
|
contain any path or volume separators nor should it be empty, otherwise
|
||||||
|
the function does nothing and returns false (and generates an assert
|
||||||
|
failure in debug build).
|
||||||
|
|
||||||
|
Notice that the return value is only available in wxWidgets 2.9.5 or
|
||||||
|
later.
|
||||||
*/
|
*/
|
||||||
void AppendDir(const wxString& dir);
|
bool AppendDir(const wxString& dir);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Creates the file name from another filename object.
|
Creates the file name from another filename object.
|
||||||
@@ -841,10 +846,16 @@ public:
|
|||||||
bool HasVolume() const;
|
bool HasVolume() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Inserts a directory component before the zero-based position in the directory
|
Inserts a directory component before the zero-based position in the
|
||||||
list. Please see AppendDir() for important notes.
|
directory list.
|
||||||
|
|
||||||
|
As with AppendDir(), @a dir must be a single directory name and the
|
||||||
|
function returns @false and does nothing else if it isn't.
|
||||||
|
|
||||||
|
Notice that the return value is only available in wxWidgets 2.9.5 or
|
||||||
|
later.
|
||||||
*/
|
*/
|
||||||
void InsertDir(size_t before, const wxString& dir);
|
bool InsertDir(size_t before, const wxString& dir);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns @true if this filename is absolute.
|
Returns @true if this filename is absolute.
|
||||||
|
@@ -2034,10 +2034,12 @@ wxFileName::IsMSWUniqueVolumeNamePath(const wxString& path, wxPathFormat format)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxFileName::AppendDir( const wxString& dir )
|
bool wxFileName::AppendDir( const wxString& dir )
|
||||||
{
|
{
|
||||||
if ( IsValidDirComponent(dir) )
|
if (!IsValidDirComponent(dir))
|
||||||
m_dirs.Add( dir );
|
return false;
|
||||||
|
m_dirs.Add(dir);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxFileName::PrependDir( const wxString& dir )
|
void wxFileName::PrependDir( const wxString& dir )
|
||||||
@@ -2045,10 +2047,12 @@ void wxFileName::PrependDir( const wxString& dir )
|
|||||||
InsertDir(0, dir);
|
InsertDir(0, dir);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxFileName::InsertDir(size_t before, const wxString& dir)
|
bool wxFileName::InsertDir(size_t before, const wxString& dir)
|
||||||
{
|
{
|
||||||
if ( IsValidDirComponent(dir) )
|
if (!IsValidDirComponent(dir))
|
||||||
m_dirs.Insert(dir, before);
|
return false;
|
||||||
|
m_dirs.Insert(dir, before);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxFileName::RemoveDir(size_t pos)
|
void wxFileName::RemoveDir(size_t pos)
|
||||||
|
Reference in New Issue
Block a user