From 6d86902a026f6fd507883605799ecabd934196ae Mon Sep 17 00:00:00 2001 From: Max Kellermann <max@musicpd.org> Date: Fri, 26 Apr 2019 14:42:54 +0200 Subject: [PATCH] fs/io/TextFile: use std::unique_ptr<> --- src/fs/io/TextFile.cxx | 21 +++++++-------------- src/fs/io/TextFile.hxx | 8 +++++--- 2 files changed, 12 insertions(+), 17 deletions(-) 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 <assert.h> TextFile::TextFile(Path path_fs) - :file_reader(new FileReader(path_fs)), + :file_reader(std::make_unique<FileReader>(path_fs)), #ifdef ENABLE_ZLIB - gunzip_reader(new AutoGunzipReader(*file_reader)), + gunzip_reader(std::make_unique<AutoGunzipReader>(*file_reader)), #endif - buffered_reader(new BufferedReader(* + buffered_reader(std::make_unique<BufferedReader>(* #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 <memory> + class Path; class FileReader; class AutoGunzipReader; class BufferedReader; class TextFile { - FileReader *const file_reader; + const std::unique_ptr<FileReader> file_reader; #ifdef ENABLE_ZLIB - AutoGunzipReader *const gunzip_reader; + const std::unique_ptr<AutoGunzipReader> gunzip_reader; #endif - BufferedReader *const buffered_reader; + const std::unique_ptr<BufferedReader> buffered_reader; public: explicit TextFile(Path path_fs);