Преглед на файлове

Fix #2062 Be more diligent about validating trailing "/" existence in HOME and XDG_DATA_HOME env vars

Edward Rudd преди 12 години
родител
ревизия
e5b65e4e03
променени са 1 файла, в които са добавени 9 реда и са изтрити 1 реда
  1. 9 1
      src/filesystem/unix/SDL_sysfilesystem.c

+ 9 - 1
src/filesystem/unix/SDL_sysfilesystem.c

@@ -173,7 +173,15 @@ SDL_GetPrefPath(const char *org, const char *app)
             SDL_SetError("neither XDG_DATA_HOME nor HOME environment is set");
             return NULL;
         }
-        append = ".local/share/";
+        if (envr[SDL_strlen(envr) - 1] == '/') {
+            append = ".local/share/";
+        } else {
+            append = "/.local/share/";
+        }
+    } else {
+        if (envr[SDL_strlen(envr) - 1] == '/') {
+            append = "";
+        }
     } /* if */
 
     len = SDL_strlen(envr) + SDL_strlen(append) + SDL_strlen(app) + 2;