[SDL] [PATCH] SDLMain.m: fix a bug and some warnings for Mac OS X
Chris Peterson
cpeterso at cpeterso.com
Sat Apr 5 19:54:28 PDT 2008
Here are some small fixes for the src/main/macosx/SDLMain.m source
file used by Mac OS X apps:
1. setupWorkingDirectory() called chdir() within an assert(), which
gets compiled out in non-debug builds.
2. When some of gcc's optional warnings are enabled, it complains
about some implicit casts and the use of #import in SDLMain.m.
chris
--- original/SDLMain.m 2008-04-05 19:26:04.000000000 -0700
+++ patched/SDLMain.m 2008-04-05 19:27:26.000000000 -0700
@@ -5,10 +5,10 @@
Feel free to customize this file to suit your needs
*/
-#import "SDL.h"
+#include "SDL/SDL.h"
#include "SDLMain.h"
-#import <sys/param.h> /* for MAXPATHLEN */
-#import <unistd.h>
+#include <sys/param.h> /* for MAXPATHLEN */
+#include <unistd.h>
/* For some reaon, Apple removed setAppleMenu from the headers in 10.4,
but the method still is there and works. To avoid warnings, we declare
@@ -43,11 +43,11 @@
static NSString *getApplicationName(void)
{
- NSDictionary *dict;
+ const NSDictionary *dict;
NSString *appName = 0;
/* Determine the application name */
- dict = (NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
+ dict = (const NSDictionary
*)CFBundleGetInfoDictionary(CFBundleGetMainBundle());
if (dict)
appName = [dict objectForKey: @"CFBundleName"];
@@ -89,8 +89,8 @@
char parentdir[MAXPATHLEN];
CFURLRef url = CFBundleCopyBundleURL(CFBundleGetMainBundle());
CFURLRef url2 = CFURLCreateCopyDeletingLastPathComponent(0, url);
- if (CFURLGetFileSystemRepresentation(url2, true, (UInt8
*)parentdir, MAXPATHLEN)) {
- assert ( chdir (parentdir) == 0 ); /* chdir to the binary
app's parent */
+ if (CFURLGetFileSystemRepresentation(url2, (int) 1, (UInt8
*)parentdir, MAXPATHLEN)) {
+ chdir(parentdir); /* chdir to the binary app's parent */
}
CFRelease(url);
CFRelease(url2);
@@ -227,7 +227,7 @@
/* Start the main event loop */
[NSApp run];
-
+
[sdlMain release];
[pool release];
}
@@ -319,7 +319,7 @@
NSString *result;
bufferSize = selfLen + aStringLen - aRange.length;
- buffer = NSAllocateMemoryPages(bufferSize*sizeof(unichar));
+ buffer = (unichar *)NSAllocateMemoryPages(bufferSize*sizeof(unichar));
/* Get first part into buffer */
localRange.location = 0;
@@ -381,4 +381,3 @@
#endif
return 0;
}
-
More information about the SDL
mailing list