aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMNSFileManager+Path.m
diff options
context:
space:
mode:
Diffstat (limited to 'Foundation/GTMNSFileManager+Path.m')
-rw-r--r--Foundation/GTMNSFileManager+Path.m40
1 files changed, 20 insertions, 20 deletions
diff --git a/Foundation/GTMNSFileManager+Path.m b/Foundation/GTMNSFileManager+Path.m
index 6ec298b..a22258a 100644
--- a/Foundation/GTMNSFileManager+Path.m
+++ b/Foundation/GTMNSFileManager+Path.m
@@ -6,9 +6,9 @@
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy
// of the License at
-//
+//
// http://www.apache.org/licenses/LICENSE-2.0
-//
+//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -21,7 +21,7 @@
@implementation NSFileManager (GMFileManagerPathAdditions)
-#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
+#if GTM_MACOSX_SDK && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5)
- (BOOL)gtm_createFullPathToDirectory:(NSString *)path
attributes:(NSDictionary *)attributes {
@@ -29,17 +29,17 @@
BOOL isDir;
BOOL exists = [self fileExistsAtPath:path isDirectory:&isDir];
-
+
// Quick check for the case where we have nothing to do.
if (exists && isDir)
return YES;
-
+
NSString *actualPath = @"/";
NSString *directory;
-
+
GTM_FOREACH_OBJECT(directory, [path pathComponents]) {
actualPath = [actualPath stringByAppendingPathComponent:directory];
-
+
if ([self fileExistsAtPath:actualPath isDirectory:&isDir] && isDir) {
continue;
} else if ([self createDirectoryAtPath:actualPath attributes:attributes]) {
@@ -48,20 +48,20 @@
return NO;
}
}
-
+
return YES;
}
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5
+#endif // GTM_MACOSX_SDK && (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5)
- (NSArray *)gtm_filePathsWithExtension:(NSString *)extension
inDirectory:(NSString *)directoryPath {
NSArray *extensions = nil;
-
+
// Treat no extension and an empty extension as the user requesting all files
if (extension != nil && ![extension isEqualToString:@""])
extensions = [NSArray arrayWithObject:extension];
-
+
return [self gtm_filePathsWithExtensions:extensions
inDirectory:directoryPath];
}
@@ -71,39 +71,39 @@
if (!directoryPath) {
return nil;
}
-
+
// |basenames| will contain only the matching file names, not their full paths.
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
- NSArray *basenames = [self contentsOfDirectoryAtPath:directoryPath
+#if GTM_IPHONE_SDK || (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5)
+ NSArray *basenames = [self contentsOfDirectoryAtPath:directoryPath
error:nil];
#else
NSArray *basenames = [self directoryContentsAtPath:directoryPath];
#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
+
// Check if dir doesn't exist or couldn't be opened.
if (!basenames) {
return nil;
}
-
+
// Check if dir is empty.
if ([basenames count] == 0) {
return basenames;
}
-
+
NSMutableArray *paths = [NSMutableArray arrayWithCapacity:[basenames count]];
NSString *basename;
-
+
// Convert all the |basenames| to full paths.
GTM_FOREACH_OBJECT(basename, basenames) {
NSString *fullPath = [directoryPath stringByAppendingPathComponent:basename];
[paths addObject:fullPath];
}
-
+
// Check if caller wants all files, regardless of extension.
if ([extensions count] == 0) {
return paths;
}
-
+
return [paths pathsMatchingExtensions:extensions];
}