diff --git src/physfs_platform_apple.m.orig src/physfs_platform_apple.m index e6207f5..c3af928 100644 --- src/physfs_platform_apple.m.orig +++ src/physfs_platform_apple.m @@ -29,8 +29,12 @@ void __PHYSFS_platformDeinit(void) char *__PHYSFS_platformCalcBaseDir(const char *argv0) { +#if __clang__ @autoreleasepool { +#else + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; +#endif NSString *path = [[NSBundle mainBundle] bundlePath]; BAIL_IF(!path, PHYSFS_ERR_OS_ERROR, NULL); size_t len = [path lengthOfBytesUsingEncoding:NSUTF8StringEncoding]; @@ -40,14 +44,22 @@ char *__PHYSFS_platformCalcBaseDir(const char *argv0) retval[len] = '/'; retval[len+1] = '\0'; return retval; /* whew. */ +#if __clang__ } /* @autoreleasepool */ +#else + [pool release]; +#endif } /* __PHYSFS_platformCalcBaseDir */ char *__PHYSFS_platformCalcPrefDir(const char *org, const char *app) { +#if __clang__ @autoreleasepool { +#else + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; +#endif NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, TRUE); BAIL_IF(!paths, PHYSFS_ERR_OS_ERROR, NULL); NSString *path = (NSString *) [paths objectAtIndex:0]; @@ -59,7 +71,11 @@ char *__PHYSFS_platformCalcPrefDir(const char *org, const char *app) [path getCString:retval maxLength:len+1 encoding:NSUTF8StringEncoding]; snprintf(retval + len, applen + 3, "/%s/", app); return retval; /* whew. */ +#if __clang__ } /* @autoreleasepool */ +#else + [pool release]; +#endif } /* __PHYSFS_platformCalcPrefDir */