From 48bce85defdca07b2c2e872dbaccac374def1ca6 Mon Sep 17 00:00:00 2001 From: thomasvl Date: Thu, 28 Feb 2008 16:59:06 +0000 Subject: switch the helper on NSTask over to a static function incase anyone ever wanted to use this code in some plugin where categories get dangerous. --- Foundation/GTMScriptRunner.m | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'Foundation/GTMScriptRunner.m') diff --git a/Foundation/GTMScriptRunner.m b/Foundation/GTMScriptRunner.m index 30769fb..e2d0995 100644 --- a/Foundation/GTMScriptRunner.m +++ b/Foundation/GTMScriptRunner.m @@ -18,10 +18,7 @@ #import "GTMScriptRunner.h" - -@interface NSTask (SafeLaunching) -- (BOOL)safeLaunch; -@end +static BOOL LaunchNSTaskCatchingExceptions(NSTask *task); @interface GTMScriptRunner (PrivateMethods) - (NSTask *)interpreterTaskWithAdditionalArgs:(NSArray *)args; @@ -95,7 +92,7 @@ NSFileHandle *toTask = [[task standardInput] fileHandleForWriting]; NSFileHandle *fromTask = [[task standardOutput] fileHandleForReading]; - if (![task safeLaunch]) { + if (!LaunchNSTaskCatchingExceptions(task)) { return nil; } @@ -145,7 +142,7 @@ NSTask *task = [self interpreterTaskWithAdditionalArgs:scriptPlusArgs]; NSFileHandle *fromTask = [[task standardOutput] fileHandleForReading]; - if (![task safeLaunch]) { + if (!LaunchNSTaskCatchingExceptions(task)) { return nil; } @@ -230,17 +227,13 @@ @end -@implementation NSTask (SafeLaunching) - -- (BOOL)safeLaunch { +static BOOL LaunchNSTaskCatchingExceptions(NSTask *task) { BOOL isOK = YES; @try { - [self launch]; + [task launch]; } @catch (id ex) { isOK = NO; - NSLog(@"Failed to launch interpreter '%@' due to: %@", [self launchPath], ex); + NSLog(@"Failed to launch interpreter '%@' due to: %@", [task launchPath], ex); } return isOK; } - -@end -- cgit v1.2.3