mirror of
				https://github.com/python/cpython.git
				synced 2025-10-29 20:51:26 +00:00 
			
		
		
		
	 4e327c9d1c
			
		
	
	
		4e327c9d1c
		
	
	
	
	
		
			
			This changeset fixes a number of compiler warnings in the Python Launcher binary for OSX. It also cleans up whitespace usage in those sources.
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| /*
 | |
|  *  doscript.c
 | |
|  *  PythonLauncher
 | |
|  *
 | |
|  *  Created by Jack Jansen on Wed Jul 31 2002.
 | |
|  *  Copyright (c) 2002 __MyCompanyName__. All rights reserved.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #import <Cocoa/Cocoa.h>
 | |
| #import <ApplicationServices/ApplicationServices.h>
 | |
| #import "doscript.h"
 | |
| 
 | |
| extern int
 | |
| doscript(const char *command)
 | |
| {
 | |
|     char *bundleID = "com.apple.Terminal";
 | |
|     AppleEvent evt, res;
 | |
|     AEDesc desc;
 | |
|     OSStatus err;
 | |
| 
 | |
|     [[NSWorkspace sharedWorkspace] launchApplication:@"/Applications/Utilities/Terminal.app/"];
 | |
| 
 | |
|     // Build event
 | |
|     err = AEBuildAppleEvent(kAECoreSuite, kAEDoScript,
 | |
|                              typeApplicationBundleID,
 | |
|                              bundleID, strlen(bundleID),
 | |
|                              kAutoGenerateReturnID,
 | |
|                              kAnyTransactionID,
 | |
|                              &evt, NULL,
 | |
|                              "'----':utf8(@)", strlen(command),
 | |
|                              command);
 | |
|     if (err) {
 | |
|         NSLog(@"AEBuildAppleEvent failed: %ld\n", (long)err);
 | |
|         return err;
 | |
|     }
 | |
| 
 | |
|     // Send event and check for any Apple Event Manager errors
 | |
|     err = AESendMessage(&evt, &res, kAEWaitReply, kAEDefaultTimeout);
 | |
|     AEDisposeDesc(&evt);
 | |
|     if (err) {
 | |
|         NSLog(@"AESendMessage failed: %ld\n", (long)err);
 | |
|         return err;
 | |
|     }
 | |
|     // Check for any application errors
 | |
|     err = AEGetParamDesc(&res, keyErrorNumber, typeSInt32, &desc);
 | |
|     AEDisposeDesc(&res);
 | |
|     if (!err) {
 | |
|         AEGetDescData(&desc, &err, sizeof(err));
 | |
|         NSLog(@"Terminal returned an error: %ld", (long)err);
 | |
|         AEDisposeDesc(&desc);
 | |
|     } else if (err == errAEDescNotFound) {
 | |
|         err = noErr;
 | |
|     } else {
 | |
|         NSLog(@"AEGetPArmDesc returned an error: %ld", (long)err);
 | |
|     }
 | |
| 
 | |
|     return err;
 | |
| }
 |