Revision: 11374
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=11374&view=rev
Author:   hofman
Date:     2007-10-24 07:26:49 -0700 (Wed, 24 Oct 2007)

Log Message:
-----------
Cannot pass NULL fsref to CFURL functions.

Modified Paths:
--------------
    branches/TRY_ARM_FILE_INTERFACE/bibdesk/BDSKFile.m

Modified: branches/TRY_ARM_FILE_INTERFACE/bibdesk/BDSKFile.m
===================================================================
--- branches/TRY_ARM_FILE_INTERFACE/bibdesk/BDSKFile.m  2007-10-24 12:34:20 UTC 
(rev 11373)
+++ branches/TRY_ARM_FILE_INTERFACE/bibdesk/BDSKFile.m  2007-10-24 14:26:49 UTC 
(rev 11374)
@@ -510,11 +510,14 @@
 - (NSURL *)fileURLRelativeToURL:(NSURL *)baseURL;
 {
     BOOL hadFileRef = fileRef != NULL;
-    NSURL *aURL = [(id)CFURLCreateFromFSRef(CFAllocatorGetDefault(), [self 
fsRefRelativeToURL:baseURL]) autorelease];
+    const FSRef *aRef = [self fsRefRelativeToURL:baseURL];
+    NSURL *aURL = aRef == NULL ? nil : 
[(id)CFURLCreateFromFSRef(CFAllocatorGetDefault(), aRef) autorelease];
     if (aURL == nil && hadFileRef) {
         NSZoneFree([self zone], (void *)fileRef);
         fileRef = NULL;
-        aURL = [(id)CFURLCreateFromFSRef(CFAllocatorGetDefault(), [self 
fsRefRelativeToURL:baseURL]) autorelease];
+        aRef = [self fsRefRelativeToURL:baseURL];
+        if (aRef != NULL)
+            aURL = [(id)CFURLCreateFromFSRef(CFAllocatorGetDefault(), aRef) 
autorelease];
     }
     return aURL;
 }
@@ -522,11 +525,14 @@
 - (NSURL *)fileURLRelativeToURLNoUpdate:(NSURL *)baseURL;
 {
     BOOL hadFileRef = fileRef != NULL;
-    NSURL *aURL = [(id)CFURLCreateFromFSRef(CFAllocatorGetDefault(), [self 
fsRefRelativeToURL:baseURL update:NO]) autorelease];
+    const FSRef *aRef = [self fsRefRelativeToURL:baseURL update:NO];
+    NSURL *aURL = aRef == NULL ? nil : 
[(id)CFURLCreateFromFSRef(CFAllocatorGetDefault(), aRef) autorelease];
     if (aURL == nil && hadFileRef) {
         NSZoneFree([self zone], (void *)fileRef);
         fileRef = NULL;
-        aURL = [(id)CFURLCreateFromFSRef(CFAllocatorGetDefault(), [self 
fsRefRelativeToURL:baseURL update:NO]) autorelease];
+        aRef = [self fsRefRelativeToURL:baseURL update:NO];
+        if (aRef != NULL)
+            aURL = [(id)CFURLCreateFromFSRef(CFAllocatorGetDefault(), aRef) 
autorelease];
     }
     return aURL;
 }
@@ -562,7 +568,7 @@
     // make sure the fileRef is valid
     [self fileURLRelativeToURLNoUpdate:[NSURL fileURLWithPath:basePath]];
     
-    const FSRef *fsRef = [self fsRefRelativeToURL:[NSURL 
fileURLWithPath:basePath] update:NO];
+    FSRef *fsRef = (FSRef *)[self fsRefRelativeToURL:[NSURL 
fileURLWithPath:basePath] update:NO];
     FSRef baseRef, tempRef = *fsRef;
     NSURL *baseURL;
     BDAlias *anAlias = nil;
@@ -570,9 +576,9 @@
     if (fsRef) {
         baseURL = [NSURL fileURLWithPath:basePath];
         if (baseURL && CFURLGetFSRef((CFURLRef)baseURL, &baseRef))
-            anAlias = [[[BDAlias alloc] initWithFSRef:&tempRef 
relativeToFSRef:&baseRef] autorelease];
+            anAlias = [[[BDAlias alloc] initWithFSRef:fsRef 
relativeToFSRef:&baseRef] autorelease];
         else
-            anAlias = [[[BDAlias alloc] initWithFSRef:&tempRef] autorelease];
+            anAlias = [[[BDAlias alloc] initWithFSRef:fsRef] autorelease];
     } else {
        anAlias = alias;
     }


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to