// instead of our code if available
//
// NB: 3rd parameter is bFailIfExists i.e. the inverse of overwrite
- return ::CopyFile(file1, file2, !overwrite) != 0;
+ if ( !::CopyFile(file1, file2, !overwrite) )
+ {
+ wxLogSysError(_("Failed to copy the file '%s' to '%s'"),
+ file1.c_str(), file2.c_str());
+
+ return FALSE;
+ }
#elif defined(__WXPM__)
- if (::DosCopy(file2, file2, overwrite ? DCPY_EXISTING : 0) == 0)
- return TRUE;
- else
+ if ( ::DosCopy(file2, file2, overwrite ? DCPY_EXISTING : 0) != 0 )
return FALSE;
#else // !Win32
wxStructStat fbuf;
return FALSE;
}
#endif // OS/2 || Mac
+#endif // __WXMSW__ && __WIN32__
return TRUE;
-#endif // __WXMSW__ && __WIN32__
}
bool
// for the compilers which have Unicode version of _getcwd(), call it
// directly, for the others call the ANSI version and do the translation
#if !wxUSE_UNICODE
- #define cbuf buf
+ #define cbuf buf
#else // wxUSE_UNICODE
- bool needsANSI = TRUE;
+ bool needsANSI = TRUE;
- #if !defined(HAVE_WGETCWD) || wxUSE_UNICODE_MSLU
+ #if !defined(HAVE_WGETCWD) || wxUSE_UNICODE_MSLU
wxCharBuffer c_buffer(sz);
- char *cbuf = (char*)(const char*)c_buffer;
- #endif
+ char *cbuf = (char*)(const char*)c_buffer;
+ #endif
#ifdef HAVE_WGETCWD
- #if wxUSE_UNICODE_MSLU
- if ( wxGetOsVersion() != wxWIN95 )
- #endif
- {
- ok = _wgetcwd(buf, sz) != NULL;
- needsANSI = FALSE;
- }
+ #if wxUSE_UNICODE_MSLU
+ if ( wxGetOsVersion() != wxWIN95 )
+ #else
+ char *cbuf = NULL; // never really used because needsANSI will always be FALSE
+ #endif
+ {
+ ok = _wgetcwd(buf, sz) != NULL;
+ needsANSI = FALSE;
+ }
#endif
- if ( needsANSI )
+ if ( needsANSI )
#endif // wxUSE_UNICODE
- {
+ {
#ifdef _MSC_VER
ok = _getcwd(cbuf, sz) != NULL;
#elif defined(__WXMAC__) && !defined(__DARWIN__)
#else // !Win32/VC++ !Mac !OS2
ok = getcwd(cbuf, sz) != NULL;
#endif // platform
- }
+
+ #if wxUSE_UNICODE
+ // finally convert the result to Unicode if needed
+ wxConvFile.MB2WC(buf, cbuf, sz);
+ #endif // wxUSE_UNICODE
+ }
if ( !ok )
{
wxString pathUnix = buf;
cygwin_conv_to_full_win32_path(pathUnix, buf);
#endif // __CYGWIN__
-
- // finally convert the result to Unicode if needed
-#if wxUSE_UNICODE
- wxConvFile.MB2WC(buf, cbuf, sz);
-#endif // wxUSE_UNICODE
}
return buf;
#if !wxUSE_UNICODE
- #undef cbuf
+ #undef cbuf
#endif
}