From a8cefb9b52499f69c69ae796db7f057b4c76b0db Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Fri, 6 Mar 2015 01:29:26 +0100 Subject: [PATCH] improved workaround for valid Android asset directory path names --- src/libgame/misc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/libgame/misc.c b/src/libgame/misc.c index 39f015ff..c02d3920 100644 --- a/src/libgame/misc.c +++ b/src/libgame/misc.c @@ -648,9 +648,11 @@ char *getStringCat3(char *s1, char *s2, char *s3) char *getPath2(char *path1, char *path2) { #if defined(PLATFORM_ANDROID) - // workaround for reading from APK assets directory -- skip leading "./" + // workaround for reading from assets directory -- skip "." subdirs in path if (strEqual(path1, ".")) return getStringCopy(path2); + else if (strEqual(path2, ".")) + return getStringCopy(path1); #endif return getStringCat2WithSeparator(path1, path2, STRING_PATH_SEPARATOR); @@ -659,9 +661,13 @@ char *getPath2(char *path1, char *path2) char *getPath3(char *path1, char *path2, char *path3) { #if defined(PLATFORM_ANDROID) - // workaround for reading from APK assets directory -- skip leading "./" + // workaround for reading from assets directory -- skip "." subdirs in path if (strEqual(path1, ".")) return getStringCat2WithSeparator(path2, path3, STRING_PATH_SEPARATOR); + else if (strEqual(path2, ".")) + return getStringCat2WithSeparator(path1, path3, STRING_PATH_SEPARATOR); + else if (strEqual(path3, ".")) + return getStringCat2WithSeparator(path1, path2, STRING_PATH_SEPARATOR); #endif return getStringCat3WithSeparator(path1, path2, path3, STRING_PATH_SEPARATOR); -- 2.34.1