aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMNSString+FindFolder.m
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-05-14 19:35:54 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-05-14 19:35:54 +0000
commit4f89cfe836e82f9445b98d733d6eb54b86e609d2 (patch)
treedd5f8eb01940af1a98922254baa93437936dc2ed /Foundation/GTMNSString+FindFolder.m
parent4e865a397220fcca9975de0ed393ed7a145234d2 (diff)
[Author: dmaclach]
There are still a couple of errors occurring, but this fixes up the majority of stuff. I figured I'd send it out to you now to take a look at in the morning, and then we can clean up the last couple of issues. Not quite sure what to do about the naming of data files so that we can encompass ranges of system version (e.g. this file applies to 10.5 and 10.6 but not 10.4 or 10.7. R=thomasvl DELTA=10598 (10211 added, 70 deleted, 317 changed)
Diffstat (limited to 'Foundation/GTMNSString+FindFolder.m')
-rw-r--r--Foundation/GTMNSString+FindFolder.m28
1 files changed, 23 insertions, 5 deletions
diff --git a/Foundation/GTMNSString+FindFolder.m b/Foundation/GTMNSString+FindFolder.m
index 3a44174..2e847e3 100644
--- a/Foundation/GTMNSString+FindFolder.m
+++ b/Foundation/GTMNSString+FindFolder.m
@@ -62,12 +62,30 @@
// it already exists
resultPath = subdirPath;
} else if (doCreate) {
-
+ parentFolderPath = [parentFolderPath stringByResolvingSymlinksInPath];
+ NSDictionary* attrs = nil;
+ BOOL createdSubDir = NO;
// create the subdirectory with the parent folder's attributes
- NSDictionary* attrs = [fileMgr fileAttributesAtPath:parentFolderPath
- traverseLink:YES];
- if ([fileMgr createDirectoryAtPath:subdirPath
- attributes:attrs]) {
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
+ NSError *error = nil;
+ attrs = [fileMgr attributesOfItemAtPath:parentFolderPath error:&error];
+ if (error) {
+ _GTMDevLog(@"Error %@ getting attributes of %@",
+ error, parentFolderPath);
+ }
+ createdSubDir = [fileMgr createDirectoryAtPath:subdirPath
+ withIntermediateDirectories:YES
+ attributes:attrs
+ error:&error];
+ if (error) {
+ _GTMDevLog(@"Error %@ creating directory at %@", error, subdirPath);
+ }
+#else
+ attrs = [fileMgr fileAttributesAtPath:parentFolderPath traverseLink:YES];
+ createdSubDir = [fileMgr createDirectoryAtPath:subdirPath
+ attributes:attrs];
+#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
+ if (createdSubDir) {
resultPath = subdirPath;
}
}