]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/filefn.cpp
Compile fix.
[wxWidgets.git] / src / common / filefn.cpp
index 8650b3338d7d7830518bdca436cb59c88084cc96..b064624435bbd74d710393997b22f6f8f7d7d373 100644 (file)
@@ -1112,10 +1112,10 @@ wxCopyFile (const wxString& file1, const wxString& file2, bool overwrite)
     if ( ::DosCopy(file2, file2, overwrite ? DCPY_EXISTING : 0) != 0 )
         return FALSE;
 #else // !Win32
     if ( ::DosCopy(file2, file2, overwrite ? DCPY_EXISTING : 0) != 0 )
         return FALSE;
 #else // !Win32
-    wxStructStat fbuf;
 
 
+    wxStructStat fbuf;
     // get permissions of file1
     // get permissions of file1
-    if ( wxStat( file1, &fbuf) != 0 )
+    if ( wxStat( file1.c_str(), &fbuf) != 0 )
     {
         // the file probably doesn't exist or we haven't the rights to read
         // from it anyhow
     {
         // the file probably doesn't exist or we haven't the rights to read
         // from it anyhow
@@ -1146,6 +1146,7 @@ wxCopyFile (const wxString& file1, const wxString& file2, bool overwrite)
 
     // create file2 with the same permissions than file1 and open it for
     // writing
 
     // create file2 with the same permissions than file1 and open it for
     // writing
+    
     wxFile fileOut;
     if ( !fileOut.Create(file2, overwrite, fbuf.st_mode & 0777) )
         return FALSE;
     wxFile fileOut;
     if ( !fileOut.Create(file2, overwrite, fbuf.st_mode & 0777) )
         return FALSE;
@@ -1414,8 +1415,11 @@ wxChar *wxGetWorkingDirectory(wxChar *buf, int sz)
     bool needsANSI = TRUE;
 
     #if !defined(HAVE_WGETCWD) || wxUSE_UNICODE_MSLU
     bool needsANSI = TRUE;
 
     #if !defined(HAVE_WGETCWD) || wxUSE_UNICODE_MSLU
-        wxCharBuffer c_buffer(sz);
-        char *cbuf = (char*)(const char*)c_buffer;
+        // This is not legal code as the compiler 
+        // is allowed destroy the wxCharBuffer.
+        // wxCharBuffer c_buffer(sz);
+        // char *cbuf = (char*)(const char*)c_buffer;
+        char cbuf[_MAXPATHLEN];
     #endif
 
     #ifdef HAVE_WGETCWD
     #endif
 
     #ifdef HAVE_WGETCWD
@@ -1475,6 +1479,8 @@ wxChar *wxGetWorkingDirectory(wxChar *buf, int sz)
     #if wxUSE_UNICODE
         // finally convert the result to Unicode if needed
         wxConvFile.MB2WC(buf, cbuf, sz);
     #if wxUSE_UNICODE
         // finally convert the result to Unicode if needed
         wxConvFile.MB2WC(buf, cbuf, sz);
+        // wxString tmp = wxString::FromAscii( cbuf );
+        // wxStrcpy( buf, tmp.c_str() );
     #endif // wxUSE_UNICODE
     }
 
     #endif // wxUSE_UNICODE
     }