X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a62848fdba49396eba4f52c037d2dc82130274b4..718903fe6402bb374a801e43e856b02204401204:/src/common/filename.cpp diff --git a/src/common/filename.cpp b/src/common/filename.cpp index 83731a291a..9553e92a27 100644 --- a/src/common/filename.cpp +++ b/src/common/filename.cpp @@ -87,6 +87,9 @@ // For GetShort/LongPathName #ifdef __WIN32__ #include "wx/msw/wrapwin.h" +#if defined(__MINGW32__) +#include "wx/msw/gccpriv.h" +#endif #endif #ifdef __WXWINCE__ @@ -234,8 +237,8 @@ static void ConvertWxToFileTime(FILETIME *ft, const wxDateTime& dt) { SYSTEMTIME st; st.wDay = dt.GetDay(); - st.wMonth = dt.GetMonth() + 1; - st.wYear = dt.GetYear(); + st.wMonth = (WORD)(dt.GetMonth() + 1); + st.wYear = (WORD)dt.GetYear(); st.wHour = dt.GetHour(); st.wMinute = dt.GetMinute(); st.wSecond = dt.GetSecond(); @@ -450,9 +453,21 @@ void wxFileName::Assign(const wxString& fullpathOrig, Assign(volume, path, name, ext, format); } +void wxFileName::Assign(const wxString& pathOrig, + const wxString& name, + const wxString& ext, + wxPathFormat format) +{ + wxString volume, + path; + SplitVolume(pathOrig, &volume, &path, format); + + Assign(volume, path, name, ext, format); +} + void wxFileName::AssignDir(const wxString& dir, wxPathFormat format) { - Assign(dir, _T(""), format); + Assign(dir, wxEmptyString, format); } void wxFileName::Clear() @@ -1049,13 +1064,18 @@ bool wxFileName::GetShortcutTarget(const wxString& shortcutPath, wxString& targe if (SUCCEEDED(hres)) { wxChar buf[2048]; + // Wrong prototype in early versions +#if defined(__MINGW32__) && !wxCHECK_W32API_VERSION(2, 2) + psl->GetPath((CHAR*) buf, 2048, NULL, SLGP_UNCPRIORITY); +#else psl->GetPath(buf, 2048, NULL, SLGP_UNCPRIORITY); +#endif targetFilename = wxString(buf); success = (shortcutPath != targetFilename); psl->GetArguments(buf, 2048); wxString args(buf); - if (!args.IsEmpty() && arguments) + if (!args.empty() && arguments) { *arguments = args; } @@ -1269,10 +1289,8 @@ wxString wxFileName::GetPathTerminators(wxPathFormat format) bool wxFileName::IsPathSeparator(wxChar ch, wxPathFormat format) { // wxString::Find() doesn't work as expected with NUL - it will always find - // it, so it is almost surely a bug if this function is called with NUL arg - wxASSERT_MSG( ch != _T('\0'), _T("shouldn't be called with NUL") ); - - return GetPathSeparators(format).Find(ch) != wxNOT_FOUND; + // it, so test for it separately + return ch != _T('\0') && GetPathSeparators(format).Find(ch) != wxNOT_FOUND; } // ---------------------------------------------------------------------------- @@ -1302,26 +1320,26 @@ bool wxFileName::IsPathSeparator(wxChar ch, wxPathFormat format) return true; } -void wxFileName::AppendDir( const wxString &dir ) +void wxFileName::AppendDir( const wxString& dir ) { if ( IsValidDirComponent(dir) ) m_dirs.Add( dir ); } -void wxFileName::PrependDir( const wxString &dir ) +void wxFileName::PrependDir( const wxString& dir ) { InsertDir(0, dir); } -void wxFileName::InsertDir( int before, const wxString &dir ) +void wxFileName::InsertDir(size_t before, const wxString& dir) { if ( IsValidDirComponent(dir) ) - m_dirs.Insert( dir, before ); + m_dirs.Insert(dir, before); } -void wxFileName::RemoveDir( int pos ) +void wxFileName::RemoveDir(size_t pos) { - m_dirs.RemoveAt( (size_t)pos ); + m_dirs.RemoveAt(pos); } // ---------------------------------------------------------------------------- @@ -1980,7 +1998,7 @@ public : MacDefaultExtensionRecord() { m_ext[0] = 0 ; - m_type = m_creator = NULL ; + m_type = m_creator = 0 ; } MacDefaultExtensionRecord( const MacDefaultExtensionRecord& from ) {