X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6f38c86f452b444cab9eff182f76196d01bc9d22..27813df1f79323884ce5e3ec9a730f5d3da03f95:/src/os2/dir.cpp?ds=inline diff --git a/src/os2/dir.cpp b/src/os2/dir.cpp index c5a14f2ce3..3c10f9bff8 100644 --- a/src/os2/dir.cpp +++ b/src/os2/dir.cpp @@ -25,6 +25,7 @@ #include "wx/wxprec.h" #ifndef WX_PRECOMP + #include "wx/os2/private.h" #include "wx/intl.h" #include "wx/log.h" #endif // PCH @@ -35,6 +36,7 @@ #include #define INCL_DOSFILEMGR +#define INCL_DOSERRORS #include #ifdef __EMX__ @@ -160,6 +162,7 @@ public: void SetFileSpec(const wxString& rsFilespec) { m_sFilespec = rsFilespec; } void SetFlags(int nFlags) { m_nFlags = nFlags; } + const wxString& GetName() const { return m_sDirname; } void Close(); void Rewind(); bool Read(wxString* rsFilename); @@ -348,6 +351,28 @@ bool wxDir::IsOpened() const return m_data != NULL; } // end of wxDir::IsOpen +wxString wxDir::GetName() const +{ + wxString name; + if ( m_data ) + { + name = M_DIR->GetName(); + if ( !name.empty() ) + { + // bring to canonical Windows form + name.Replace(_T("/"), _T("\\")); + + if ( name.Last() == _T('\\') ) + { + // chop off the last (back)slash + name.Truncate(name.length() - 1); + } + } + } + + return name; +} + wxDir::~wxDir() { delete M_DIR;