Browse Source

Fixed bug 2072 - Make OS X's filesystem calls use -[NSString fileSystemRepresentation]

C.W. Betts

The recommended way of getting a file name that POSIX file APIs can open in OS X when using an NSString is -[NSString fileSystemRepresentation]. However, the current filesystem API in hg uses -[NSString UTF8String].
Sam Lantinga 11 years ago
parent
commit
deb8086b08
1 changed files with 4 additions and 4 deletions
  1. 4 4
      src/filesystem/cocoa/SDL_sysfilesystem.m

+ 4 - 4
src/filesystem/cocoa/SDL_sysfilesystem.m

@@ -45,12 +45,12 @@ SDL_GetBasePath(void)
         baseType = "resource";
     }
     if (SDL_strcasecmp(baseType, "bundle")==0) {
-        base = [[bundle bundlePath] UTF8String];
+        base = [[bundle bundlePath] fileSystemRepresentation];
     } else if (SDL_strcasecmp(baseType, "parent")==0) {
-        base = [[[bundle bundlePath] stringByDeletingLastPathComponent] UTF8String];
+        base = [[[bundle bundlePath] stringByDeletingLastPathComponent] fileSystemRepresentation];
     } else {
         /* this returns the exedir for non-bundled  and the resourceDir for bundled apps */
-        base = [[bundle resourcePath] UTF8String];
+        base = [[bundle resourcePath] fileSystemRepresentation];
     }
     if (base) {
         const size_t len = SDL_strlen(base) + 2;
@@ -77,7 +77,7 @@ SDL_GetPrefPath(const char *org, const char *app)
 
     if ([array count] > 0) {  /* we only want the first item in the list. */
         NSString *str = [array objectAtIndex:0];
-        const char *base = [str UTF8String];
+        const char *base = [str fileSystemRepresentation];
         if (base) {
             const size_t len = SDL_strlen(base) + SDL_strlen(app) + 3;
             retval = (char *) SDL_malloc(len);