X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d98a58c543948d84d9287e6fa53a5539d662b7a5..64ea838d8f4d1853b7d850db93ee565e901d099a:/src/common/filefn.cpp diff --git a/src/common/filefn.cpp b/src/common/filefn.cpp index 100ca385dc..2e04e80098 100644 --- a/src/common/filefn.cpp +++ b/src/common/filefn.cpp @@ -76,7 +76,7 @@ // io.h is needed for _get_osfhandle() // Already included by filefn.h for many Windows compilers - #if defined __MWERKS__ || defined __CYGWIN__ + #if defined __CYGWIN__ #include #endif #endif // __WINDOWS__ @@ -842,6 +842,9 @@ wxString wxMacFSRefToPath( const FSRef *fsRef , CFStringRef additionalPathCompon { CFURLRef fullURLRef; fullURLRef = CFURLCreateFromFSRef(NULL, fsRef); + if ( fullURLRef == NULL) + return wxEmptyString; + if ( additionalPathComponent ) { CFURLRef parentURLRef = fullURLRef ; @@ -849,12 +852,10 @@ wxString wxMacFSRefToPath( const FSRef *fsRef , CFStringRef additionalPathCompon additionalPathComponent,false); CFRelease( parentURLRef ) ; } - CFStringRef cfString = CFURLCopyFileSystemPath(fullURLRef, kDefaultPathStyle); + wxCFStringRef cfString( CFURLCopyFileSystemPath(fullURLRef, kDefaultPathStyle )); CFRelease( fullURLRef ) ; - CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, cfString); - CFRelease( cfString ); - CFStringNormalize(cfMutableString,kCFStringNormalizationFormC); - return wxCFStringRef(cfMutableString).AsString(); + + return wxCFStringRef::AsStringWithNormalizationFormC(cfString); } OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef ) @@ -879,13 +880,10 @@ OSStatus wxMacPathToFSRef( const wxString&path , FSRef *fsRef ) wxString wxMacHFSUniStrToString( ConstHFSUniStr255Param uniname ) { - CFStringRef cfname = CFStringCreateWithCharacters( kCFAllocatorDefault, + wxCFStringRef cfname( CFStringCreateWithCharacters( kCFAllocatorDefault, uniname->unicode, - uniname->length ); - CFMutableStringRef cfMutableString = CFStringCreateMutableCopy(NULL, 0, cfname); - CFRelease( cfname ); - CFStringNormalize(cfMutableString,kCFStringNormalizationFormC); - return wxCFStringRef(cfMutableString).AsString() ; + uniname->length ) ); + return wxCFStringRef::AsStringWithNormalizationFormC(cfname); } #ifndef __LP64__ @@ -1191,8 +1189,7 @@ bool wxRemoveFile(const wxString& file) || defined(__BORLANDC__) \ || defined(__WATCOMC__) \ || defined(__DMC__) \ - || defined(__GNUWIN32__) \ - || (defined(__MWERKS__) && defined(__MSL__)) + || defined(__GNUWIN32__) int res = wxRemove(file); #elif defined(__WXMAC__) int res = unlink(file.fn_str()); @@ -1538,7 +1535,7 @@ bool wxSetWorkingDirectory(const wxString& d) // No equivalent in WinCE wxUnusedVar(d); #else - success = (SetCurrentDirectory(d.fn_str()) != 0); + success = (SetCurrentDirectory(d.t_str()) != 0); #endif #else // Must change drive, too. @@ -1577,8 +1574,12 @@ wxString wxGetOSDirectory() #ifdef __WXWINCE__ return wxString(wxT("\\Windows")); #elif defined(__WINDOWS__) && !defined(__WXMICROWIN__) - wxChar buf[256]; - GetWindowsDirectory(buf, 256); + wxChar buf[MAX_PATH]; + if ( !GetWindowsDirectory(buf, MAX_PATH) ) + { + wxLogLastError(wxS("GetWindowsDirectory")); + } + return wxString(buf); #elif defined(__WXMAC__) && wxOSX_USE_CARBON return wxMacFindFolderNoSeparator(kOnSystemDisk, 'macs', false); @@ -1766,7 +1767,7 @@ static bool wxCheckWin32Permission(const wxString& path, DWORD access) // quoting the MSDN: "To obtain a handle to a directory, call the // CreateFile function with the FILE_FLAG_BACKUP_SEMANTICS flag", but this // doesn't work under Win9x/ME but then it's not needed there anyhow - const DWORD dwAttr = ::GetFileAttributes(path.fn_str()); + const DWORD dwAttr = ::GetFileAttributes(path.t_str()); if ( dwAttr == INVALID_FILE_ATTRIBUTES ) { // file probably doesn't exist at all