while ((*d++ = *s) != 0) {
# ifndef __WXMSW__
if (*s == wxT('\\')) {
- if ((*(d - 1) = *++s)) {
+ if ((*(d - 1) = *++s)!=0) {
s++;
continue;
} else
bool needsANSI = true;
#if !defined(HAVE_WGETCWD) || wxUSE_UNICODE_MSLU
- // 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
#if defined( __CYGWIN__ ) && defined( __WINDOWS__ )
// another example of DOS/Unix mix (Cygwin)
wxString pathUnix = buf;
+#if wxUSE_UNICODE
+ char bufA[_MAXPATHLEN];
+ cygwin_conv_to_full_win32_path(pathUnix.mb_str(wxConvFile), bufA);
+ wxConvFile.MB2WC(buf, bufA, sz);
+#else
cygwin_conv_to_full_win32_path(pathUnix, buf);
+#endif // wxUSE_UNICODE
#endif // __CYGWIN__
}
(void)fp;
return wxFILE_KIND_DISK;
#else
- return wxGetFileKind(fileno(fp));
+ return fp ? wxGetFileKind(fileno(fp)) : wxFILE_KIND_UNKNOWN;
#endif
}