mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-26 18:21:04 +00:00
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@26690 72102866-910b-0410-8b05-ffd578937521
57 lines
1.3 KiB
Objective-C
57 lines
1.3 KiB
Objective-C
/* Demonstration of windows NSTask launching bug */
|
|
|
|
#include "Foundation/Foundation.h"
|
|
|
|
static void
|
|
handler(NSException *e)
|
|
{
|
|
NSLog(@"Caught %@", e);
|
|
}
|
|
|
|
int main()
|
|
{
|
|
CREATE_AUTORELEASE_POOL(arp);
|
|
|
|
NSTask *task;
|
|
NSProcessInfo *info;
|
|
NSDictionary *env;
|
|
NSString *path;
|
|
|
|
info = [NSProcessInfo processInfo];
|
|
env = [info environment];
|
|
|
|
#if defined(__MINGW32__)
|
|
path = @"C:\\WINDOWS\\system32\\net.exe";
|
|
// path = @"E:\\WINNT\\system32\\net.exe";
|
|
#else
|
|
path = @"/bin/ls";
|
|
#endif
|
|
printf("Determined command to run as '%s'\n",[path lossyCString]);
|
|
|
|
task = [NSTask launchedTaskWithLaunchPath: path
|
|
arguments: [NSArray array]];
|
|
[task waitUntilExit];
|
|
|
|
printf("First task has completed\n");
|
|
|
|
|
|
#if defined(__MINGW32__)
|
|
path = @"C:\\WINDOWS\\system32\\mem.exe";
|
|
// path = @"E:\\WINNT\\system32\\mem.exe";
|
|
#else
|
|
path = @"/bin/ls";
|
|
#endif
|
|
printf("Determined command to run as '%s'\n",[path lossyCString]);
|
|
|
|
task = [NSTask launchedTaskWithLaunchPath: path
|
|
arguments: [NSArray array]];
|
|
[task waitUntilExit];
|
|
|
|
printf("Second task has completed\n");
|
|
|
|
NSSetUncaughtExceptionHandler(handler);
|
|
[NSException raise: NSGenericException format: @"an exception"];
|
|
|
|
DESTROY(arp);
|
|
return 0;
|
|
}
|