Optionally sanitize download and file names by replacing slash with underscore.

This commit is contained in:
Jari Sundell
2026-08-29 11:31:16 +02:00
committed by GitHub
parent 21019fde41
commit 2804be2c9c
12 changed files with 239 additions and 214 deletions
+12 -1
View File
@@ -101,7 +101,18 @@ Download::set_throttle_name(const std::string& name) {
}
void
Download::set_root_directory(const std::string& path) {
Download::set_directory(const std::string& path) {
if (!m_download.file_list()->is_multi_file())
return set_base_directory(path);
if (path.empty() || *path.rbegin() == '/')
return set_base_directory(path + m_download.info()->name_sanitized());
set_base_directory(path + "/" + m_download.info()->name_sanitized());
}
void
Download::set_base_directory(const std::string& path) {
// If the download is open, hashed and has completed chunks make
// sure to verify that the download files are still present.
//
+2 -1
View File
@@ -79,7 +79,8 @@ public:
uint32_t resume_flags() { return m_resumeFlags; }
void set_resume_flags(uint32_t flags) { m_resumeFlags = flags; }
void set_root_directory(const std::string& path);
void set_directory(const std::string& path);
void set_base_directory(const std::string& path);
void set_throttle_name(const std::string& name);