diff --git a/src/fs/io/TextFile.cxx b/src/fs/io/TextFile.cxx index 55d448a8a..5bdb2b833 100644 --- a/src/fs/io/TextFile.cxx +++ b/src/fs/io/TextFile.cxx @@ -26,28 +26,21 @@ #include TextFile::TextFile(Path path_fs) - :file_reader(new FileReader(path_fs)), + :file_reader(std::make_unique(path_fs)), #ifdef ENABLE_ZLIB - gunzip_reader(new AutoGunzipReader(*file_reader)), + gunzip_reader(std::make_unique(*file_reader)), #endif - buffered_reader(new BufferedReader(* + buffered_reader(std::make_unique(* #ifdef ENABLE_ZLIB - gunzip_reader + gunzip_reader #else - file_reader + file_reader #endif - )) + )) { } -TextFile::~TextFile() -{ - delete buffered_reader; -#ifdef ENABLE_ZLIB - delete gunzip_reader; -#endif - delete file_reader; -} +TextFile::~TextFile() = default; char * TextFile::ReadLine() diff --git a/src/fs/io/TextFile.hxx b/src/fs/io/TextFile.hxx index 5b37afa24..b8997a8a7 100644 --- a/src/fs/io/TextFile.hxx +++ b/src/fs/io/TextFile.hxx @@ -23,19 +23,21 @@ #include "util/Compiler.h" #include "config.h" +#include + class Path; class FileReader; class AutoGunzipReader; class BufferedReader; class TextFile { - FileReader *const file_reader; + const std::unique_ptr file_reader; #ifdef ENABLE_ZLIB - AutoGunzipReader *const gunzip_reader; + const std::unique_ptr gunzip_reader; #endif - BufferedReader *const buffered_reader; + const std::unique_ptr buffered_reader; public: explicit TextFile(Path path_fs);