From 34bfaa7d3253c49588df64000fd12c5b8c819d63 Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Wed, 31 Jul 2024 15:49:09 +0200 Subject: [PATCH] saving files: do not prepend with default path if given path is an absolute path --- client/src/fileutils.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/client/src/fileutils.c b/client/src/fileutils.c index 1833f74b9..fc9f08deb 100644 --- a/client/src/fileutils.c +++ b/client/src/fileutils.c @@ -206,12 +206,15 @@ char *newfilenamemcopyEx(const char *preferredName, const char *suffix, savePath char *pfn = fileName; - // user preference save paths - size_t save_path_len = path_size(e_save_path); - if (save_path_len && save_path_len < (FILE_PATH_SIZE - strlen(PATHSEP))) { - snprintf(pfn, len, "%s%s", g_session.defaultPaths[e_save_path], PATHSEP); - pfn += save_path_len + strlen(PATHSEP); - len -= save_path_len + strlen(PATHSEP); + // if given path is not an absolute path + if ((preferredName[0] != '/') && (preferredName[0] != '\\')) { + // user preference save paths + size_t save_path_len = path_size(e_save_path); + if (save_path_len && save_path_len < (FILE_PATH_SIZE - strlen(PATHSEP))) { + snprintf(pfn, len, "%s%s", g_session.defaultPaths[e_save_path], PATHSEP); + pfn += save_path_len + strlen(PATHSEP); + len -= save_path_len + strlen(PATHSEP); + } } // remove file extension if exist in name