]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/filename.cpp
wxStdButtonSizer Finalise --> Realize
[wxWidgets.git] / src / common / filename.cpp
index 83731a291ab6ee7c598095510924d660df00f6b9..9553e92a27433643d46379caee24d7561f384432 100644 (file)
@@ -87,6 +87,9 @@
 // For GetShort/LongPathName
 #ifdef __WIN32__
 #include "wx/msw/wrapwin.h"
 // For GetShort/LongPathName
 #ifdef __WIN32__
 #include "wx/msw/wrapwin.h"
+#if defined(__MINGW32__)
+#include "wx/msw/gccpriv.h"
+#endif
 #endif
 
 #ifdef __WXWINCE__
 #endif
 
 #ifdef __WXWINCE__
@@ -234,8 +237,8 @@ static void ConvertWxToFileTime(FILETIME *ft, const wxDateTime& dt)
 {
     SYSTEMTIME st;
     st.wDay = dt.GetDay();
 {
     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();
     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);
 }
 
     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)
 {
 void wxFileName::AssignDir(const wxString& dir, wxPathFormat format)
 {
-    Assign(dir, _T(""), format);
+    Assign(dir, wxEmptyString, format);
 }
 
 void wxFileName::Clear()
 }
 
 void wxFileName::Clear()
@@ -1049,13 +1064,18 @@ bool wxFileName::GetShortcutTarget(const wxString& shortcutPath, wxString& targe
             if (SUCCEEDED(hres))
             {
                 wxChar buf[2048];
             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);
                 psl->GetPath(buf, 2048, NULL, SLGP_UNCPRIORITY);
+#endif
                 targetFilename = wxString(buf);
                 success = (shortcutPath != targetFilename);
 
                 psl->GetArguments(buf, 2048);
                 wxString args(buf);
                 targetFilename = wxString(buf);
                 success = (shortcutPath != targetFilename);
 
                 psl->GetArguments(buf, 2048);
                 wxString args(buf);
-                if (!args.IsEmpty() && arguments)
+                if (!args.empty() && arguments)
                 {
                     *arguments = args;
                 }
                 {
                     *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
 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;
 }
 
     return true;
 }
 
-void wxFileName::AppendDir( const wxString &dir )
+void wxFileName::AppendDir( const wxStringdir )
 {
     if ( IsValidDirComponent(dir) )
         m_dirs.Add( dir );
 }
 
 {
     if ( IsValidDirComponent(dir) )
         m_dirs.Add( dir );
 }
 
-void wxFileName::PrependDir( const wxString &dir )
+void wxFileName::PrependDir( const wxStringdir )
 {
     InsertDir(0, dir);
 }
 
 {
     InsertDir(0, dir);
 }
 
-void wxFileName::InsertDir( int before, const wxString &dir )
+void wxFileName::InsertDir(size_t before, const wxString& dir)
 {
     if ( IsValidDirComponent(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 ;
   MacDefaultExtensionRecord()
   {
     m_ext[0] = 0 ;
-    m_type = m_creator = NULL ;
+    m_type = m_creator = 0 ;
   }
   MacDefaultExtensionRecord( const MacDefaultExtensionRecord& from )
   {
   }
   MacDefaultExtensionRecord( const MacDefaultExtensionRecord& from )
   {