From 4229909519af9d477d5ed7a3683fe6d9bb30e6db Mon Sep 17 00:00:00 2001 From: Maschell Date: Sat, 9 Jan 2021 16:08:53 +0100 Subject: [PATCH] Fix FSChangeDirAsync hook to always make sure the directory ends with "/" --- src/FSFileReplacements.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/FSFileReplacements.cpp b/src/FSFileReplacements.cpp index 30d8045..7cd5095 100644 --- a/src/FSFileReplacements.cpp +++ b/src/FSFileReplacements.cpp @@ -347,6 +347,11 @@ DECL_FUNCTION(FSStatus, FSGetFreeSpaceSizeAsync, FSClient *client, FSCmdBlock *b DECL_FUNCTION(FSStatus, FSChangeDirAsync, FSClient *client, FSCmdBlock *block, const char *path, FSErrorFlag errorMask, FSAsyncData *asyncData) { DEBUG_FUNCTION_LINE("FSChangeDirAsync %s", path); strncpy(gWorkingDir, path, sizeof(gWorkingDir)); + int len = strlen(gWorkingDir); + if(len > 0 && gWorkingDir[len-1] != '/'){ + gWorkingDir[len-1] = '/'; + gWorkingDir[len] = 0; + } DCFlushRange(gWorkingDir, sizeof(gWorkingDir)); return real_FSChangeDirAsync(client, block, path, errorMask, asyncData); }