diff options
Diffstat (limited to '')
-rw-r--r-- | src/archive/plugins/Bzip2ArchivePlugin.cxx | 10 | ||||
-rw-r--r-- | src/archive/plugins/Iso9660ArchivePlugin.cxx | 8 | ||||
-rw-r--r-- | src/archive/plugins/ZzipArchivePlugin.cxx | 7 |
3 files changed, 15 insertions, 10 deletions
diff --git a/src/archive/plugins/Bzip2ArchivePlugin.cxx b/src/archive/plugins/Bzip2ArchivePlugin.cxx index 272a3f81c..8cb9af122 100644 --- a/src/archive/plugins/Bzip2ArchivePlugin.cxx +++ b/src/archive/plugins/Bzip2ArchivePlugin.cxx @@ -32,6 +32,7 @@ #include "util/Error.hxx" #include "util/Domain.hxx" #include "fs/Traits.hxx" +#include "fs/Path.hxx" #include <bzlib.h> @@ -49,9 +50,9 @@ public: std::string name; InputStream *const istream; - Bzip2ArchiveFile(const char *path, InputStream *_is) + Bzip2ArchiveFile(Path path, InputStream *_is) :ArchiveFile(bz2_archive_plugin), - name(PathTraitsUTF8::GetBase(path)), + name(PathTraitsFS::GetBase(path.c_str())), istream(_is) { // remove .bz2 suffix const size_t len = name.length(); @@ -142,11 +143,12 @@ Bzip2InputStream::Close() /* archive open && listing routine */ static ArchiveFile * -bz2_open(const char *pathname, Error &error) +bz2_open(Path pathname, Error &error) { static Mutex mutex; static Cond cond; - InputStream *is = InputStream::OpenReady(pathname, mutex, cond, error); + InputStream *is = InputStream::OpenReady(pathname.c_str(), mutex, cond, + error); if (is == nullptr) return nullptr; diff --git a/src/archive/plugins/Iso9660ArchivePlugin.cxx b/src/archive/plugins/Iso9660ArchivePlugin.cxx index d84cbc2cd..f2f91e9f6 100644 --- a/src/archive/plugins/Iso9660ArchivePlugin.cxx +++ b/src/archive/plugins/Iso9660ArchivePlugin.cxx @@ -28,6 +28,7 @@ #include "../ArchiveVisitor.hxx" #include "input/InputStream.hxx" #include "input/InputPlugin.hxx" +#include "fs/Path.hxx" #include "util/RefCount.hxx" #include "util/Error.hxx" #include "util/Domain.hxx" @@ -117,13 +118,14 @@ Iso9660ArchiveFile::Visit(const char *psz_path, ArchiveVisitor &visitor) } static ArchiveFile * -iso9660_archive_open(const char *pathname, Error &error) +iso9660_archive_open(Path pathname, Error &error) { /* open archive */ - auto iso = iso9660_open(pathname); + auto iso = iso9660_open(pathname.c_str()); if (iso == nullptr) { error.Format(iso9660_domain, - "Failed to open ISO9660 file %s", pathname); + "Failed to open ISO9660 file %s", + pathname.c_str()); return nullptr; } diff --git a/src/archive/plugins/ZzipArchivePlugin.cxx b/src/archive/plugins/ZzipArchivePlugin.cxx index 5ae3ace8d..716b56160 100644 --- a/src/archive/plugins/ZzipArchivePlugin.cxx +++ b/src/archive/plugins/ZzipArchivePlugin.cxx @@ -28,6 +28,7 @@ #include "../ArchiveVisitor.hxx" #include "input/InputStream.hxx" #include "input/InputPlugin.hxx" +#include "fs/Path.hxx" #include "util/RefCount.hxx" #include "util/Error.hxx" #include "util/Domain.hxx" @@ -70,12 +71,12 @@ static constexpr Domain zzip_domain("zzip"); /* archive open && listing routine */ static ArchiveFile * -zzip_archive_open(const char *pathname, Error &error) +zzip_archive_open(Path pathname, Error &error) { - ZZIP_DIR *dir = zzip_dir_open(pathname, nullptr); + ZZIP_DIR *dir = zzip_dir_open(pathname.c_str(), nullptr); if (dir == nullptr) { error.Format(zzip_domain, "Failed to open ZIP file %s", - pathname); + pathname.c_str()); return nullptr; } |