فهرست منبع

Apparently BeOS's BPath constructor doesn't actually _need_ leaf to be
manually split out.

Ryan C. Gordon 19 سال پیش
والد
کامیت
afd7163321
2فایلهای تغییر یافته به همراه2 افزوده شده و 8 حذف شده
  1. 1 0
      CHANGELOG
  2. 1 8
      platform/beos.cpp

+ 1 - 0
CHANGELOG

@@ -3,6 +3,7 @@
  */
 
 11052006 - More 7zip archiver work (thanks, Dennis!). Initial Unicode work.
+           Minor BeOS realpath tweak.
 09272006 - Reworked 7zip archiver (thanks, Dennis!).
 09232006 - Fixed typo in doxygen comment.
 04112006 - Added LZMA archiver...7zip support (thanks, Dennis!).

+ 1 - 8
platform/beos.cpp

@@ -200,14 +200,7 @@ void __PHYSFS_platformTimeslice(void)
 
 char *__PHYSFS_platformRealPath(const char *path)
 {
-    char *str = (char *) alloca(strlen(path) + 1);
-    BAIL_IF_MACRO(str == NULL, ERR_OUT_OF_MEMORY, NULL);
-    strcpy(str, path);
-    char *leaf = strrchr(str, '/');
-    if (leaf != NULL)
-        *(leaf++) = '\0';
-
-    BPath normalized(str, leaf, true);  /* force normalization of path. */
+    BPath normalized(path, NULL, true);  /* force normalization of path. */
     const char *resolved_path = normalized.Path();
     BAIL_IF_MACRO(resolved_path == NULL, ERR_NO_SUCH_FILE, NULL);
     char *retval = (char *) allocator.Malloc(strlen(resolved_path) + 1);