diff --git a/filesystem/filesystem.cpp b/filesystem/filesystem.cpp index 6100d1059..b740e23ed 100644 --- a/filesystem/filesystem.cpp +++ b/filesystem/filesystem.cpp @@ -391,8 +391,8 @@ FileHandle ScratchFilesystem::open(const std::string &path, FileMode) } } -BlobFilesystem::BlobFilesystem(FileHandle file_, std::string basedir_) - : file(std::move(file_)), base(std::move(basedir_)) +BlobFilesystem::BlobFilesystem(FileHandle file_) + : file(std::move(file_)) { if (!file) return; @@ -560,7 +560,7 @@ std::vector BlobFilesystem::list(const std::string &path) auto canon_path = Path::canonicalize_path(path); std::vector entries; - if (const auto *zip_dir = find_directory(Path::join(base, canon_path))) + if (const auto *zip_dir = find_directory(canon_path)) { entries.reserve(zip_dir->dirs.size() + zip_dir->files.size()); for (auto &dir : zip_dir->dirs) @@ -573,7 +573,7 @@ std::vector BlobFilesystem::list(const std::string &path) bool BlobFilesystem::stat(const std::string &path, FileStat &stat) { - auto p = Path::join(base, Path::canonicalize_path(path)); + auto p = Path::canonicalize_path(path); if (const auto *zip_file = find_file(p)) { @@ -598,7 +598,7 @@ FileHandle BlobFilesystem::open(const std::string &path, FileMode mode) if (mode != FileMode::ReadOnly) return {}; - auto p = Path::join(base, Path::canonicalize_path(path)); + auto p = Path::canonicalize_path(path); auto *blob_file = find_file(p); if (!blob_file) return {}; diff --git a/filesystem/filesystem.hpp b/filesystem/filesystem.hpp index 244fb5dc1..5ba1014d8 100644 --- a/filesystem/filesystem.hpp +++ b/filesystem/filesystem.hpp @@ -285,7 +285,7 @@ class FileSlice final : public File class BlobFilesystem final : public FilesystemBackend { public: - BlobFilesystem(FileHandle file, std::string basedir); + BlobFilesystem(FileHandle file); std::vector list(const std::string &path) override; @@ -304,7 +304,6 @@ class BlobFilesystem final : public FilesystemBackend private: FileHandle file; size_t blob_base_offset = 0; - std::string base; struct BlobFile {