Revision: 7800
http://skim-app.svn.sourceforge.net/skim-app/?rev=7800&view=rev
Author: hofman
Date: 2012-11-15 19:23:49 +0000 (Thu, 15 Nov 2012)
Log Message:
-----------
use NSURL API to resolve alias file
Modified Paths:
--------------
trunk/SKNotesDocument.m
Modified: trunk/SKNotesDocument.m
===================================================================
--- trunk/SKNotesDocument.m 2012-11-13 13:45:32 UTC (rev 7799)
+++ trunk/SKNotesDocument.m 2012-11-15 19:23:49 UTC (rev 7800)
@@ -442,13 +442,12 @@
NSError *error = nil;
if ([[NSFileManager defaultManager] fileExistsAtURL:url]) {
// resolve symlinks and aliases
- FSRef fileRef;
- Boolean isFolder, isAlias;
- if (noErr == FSPathMakeRef((const unsigned char *)[[[url
URLByResolvingSymlinksInPath] path] fileSystemRepresentation], &fileRef, NULL))
{
- CFStringRef theUTI = NULL;
- if (noErr == LSCopyItemAttribute(&fileRef, kLSRolesAll,
kLSItemContentType, (CFTypeRef *)&theUTI) && theUTI && UTTypeConformsTo(theUTI,
kUTTypeResolvable))
- FSResolveAliasFileWithMountFlags(&fileRef, TRUE, &isFolder,
&isAlias, kResolveAliasFileNoUI);
- url = [(NSURL *)CFURLCreateFromFSRef(NULL, &fileRef) autorelease]
?: url;
+ NSNumber *isAlias = nil;
+ url = [url URLByResolvingSymlinksInPath];
+ while ([url getResourceValue:&isAlias forKey:NSURLIsAliasFileKey
error:NULL] && [isAlias boolValue]) {
+ NSData *data = [NSURL bookmarkDataWithContentsOfURL:url
error:NULL];
+ if (data)
+ url = [NSURL URLByResolvingBookmarkData:data
options:NSURLBookmarkResolutionWithoutUI relativeToURL:nil
bookmarkDataIsStale:NULL error:NULL] ?: url;
}
if (nil == [[NSDocumentController sharedDocumentController]
openDocumentWithContentsOfURL:url display:YES error:&error] && [error
isUserCancelledError] == NO)
[NSApp presentError:error];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit