#endif
// Handle User's home (ignore root homes!)
- size_t len;
- if ((val = wxGetUserHome (user)) != NULL &&
- (len = wxStrlen(val)) > 2 &&
- wxStrncmp(dest, val, len) == 0)
- {
- wxStrcpy(wxFileFunctionsBuffer, wxT("~"));
- if (user != wxT(""))
- wxStrcat(wxFileFunctionsBuffer, (const wxChar*) user);
- wxStrcat(wxFileFunctionsBuffer, dest + len);
- wxStrcpy (dest, wxFileFunctionsBuffer);
- }
+ val = wxGetUserHome (user);
+ if (!val)
+ return dest;
+
+ const size_t len = wxStrlen(val);
+ if (len <= 2)
+ return dest;
+
+ if (wxStrncmp(dest, val, len) == 0)
+ {
+ wxStrcpy(wxFileFunctionsBuffer, wxT("~"));
+ if (user != wxT(""))
+ wxStrcat(wxFileFunctionsBuffer, (const wxChar*) user);
+ wxStrcat(wxFileFunctionsBuffer, dest + len);
+ wxStrcpy (dest, wxFileFunctionsBuffer);
+ }
return dest;
}
return wxMac2UnixFilename( wxMacFSSpec2MacFilename( spec) ) ;
}
-void wxUnixFilename2FSSpec( const char *path , FSSpec *spec )
+void wxUnixFilename2FSSpec( const wxChar *path , FSSpec *spec )
{
wxString var = wxUnix2MacFilename( path ) ;
wxMacFilename2FSSpec( var , spec ) ;
#if defined(__VISUALC__) \
|| defined(__BORLANDC__) \
|| defined(__WATCOMC__) \
- || defined(__GNUWIN32__)
+ || defined(__DMC__) \
+ || defined(__GNUWIN32__) \
+ || (defined(__MWERKS__) && defined(__MSL__))
int res = wxRemove(file);
#elif defined(__WXMAC__)
int res = unlink(wxFNCONV(file));
#ifdef __OS2__
// OS/2 can't handle "d:", it wants either "d:\" or "d:."
- if (strPath.length() == 2 && strPath[1] == _T(':'))
+ if (strPath.length() == 2 && strPath[1u] == _T(':'))
strPath << _T('.');
#endif
ok = getcwd(cbuf, sz) != NULL;
#endif // platform
- #if wxUSE_UNICODE && !defined(__WXMAC__)
+ #if wxUSE_UNICODE && !(defined(__WXMAC__) && !defined(__DARWIN__))
// finally convert the result to Unicode if needed
wxConvFile.MB2WC(buf, cbuf, sz);
#endif // wxUSE_UNICODE