From d7c7955cdcf0f6748ee89d98232baba1c9605bdb Mon Sep 17 00:00:00 2001 From: Johnnie Walker Date: Wed, 1 May 2013 12:03:48 +0100 Subject: [PATCH 1/3] Fix NSFileManager leak when building without ARC --- SSZipArchive.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/SSZipArchive.m b/SSZipArchive.m index 969dfe2..1f9cb62 100644 --- a/SSZipArchive.m +++ b/SSZipArchive.m @@ -295,11 +295,13 @@ + (BOOL)createZipFileAtPath:(NSString *)path withContentsOfDirectory:(NSString *)directoryPath { BOOL success = NO; + + NSFileManager *fileManager = nil; SSZipArchive *zipArchive = [[SSZipArchive alloc] initWithPath:path]; if ([zipArchive open]) { // use a local filemanager (queue/thread compatibility) - NSFileManager *fileManager = [[NSFileManager alloc] init]; + fileManager = [[NSFileManager alloc] init]; NSDirectoryEnumerator *dirEnumerator = [fileManager enumeratorAtPath:directoryPath]; NSString *fileName; @@ -315,6 +317,7 @@ } #if !__has_feature(objc_arc) + [fileManager release]; [zipArchive release]; #endif From ceae6ae8193789e64112816dd6898baccf8f7d33 Mon Sep 17 00:00:00 2001 From: Johnnie Walker Date: Wed, 1 May 2013 12:36:32 +0100 Subject: [PATCH 2/3] Fix warning with -Wmissing-braces enabled --- SSZipArchive.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SSZipArchive.m b/SSZipArchive.m index 1f9cb62..410264f 100644 --- a/SSZipArchive.m +++ b/SSZipArchive.m @@ -385,7 +385,7 @@ afileName = [fileName UTF8String]; } - zip_fileinfo zipInfo = {0}; + zip_fileinfo zipInfo = {{0}}; NSDictionary *attr = [[NSFileManager defaultManager] attributesOfItemAtPath:path error: nil]; if( attr ) From b078433f2eaa3d3a00a56ffb76448da4526612bd Mon Sep 17 00:00:00 2001 From: Johnnie Walker Date: Wed, 1 May 2013 12:38:44 +0100 Subject: [PATCH 3/3] Fix warning with -Widiomatic-parentheses enabled --- SSZipArchive.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SSZipArchive.m b/SSZipArchive.m index 410264f..b3936eb 100644 --- a/SSZipArchive.m +++ b/SSZipArchive.m @@ -305,7 +305,7 @@ NSDirectoryEnumerator *dirEnumerator = [fileManager enumeratorAtPath:directoryPath]; NSString *fileName; - while (fileName = [dirEnumerator nextObject]) { + while ((fileName = [dirEnumerator nextObject])) { BOOL isDir; NSString *fullFilePath = [directoryPath stringByAppendingPathComponent:fileName]; [fileManager fileExistsAtPath:fullFilePath isDirectory:&isDir];