From 1cfc0cb874ebf11e4d3a86db762147d324579877 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 26 Apr 2019 14:47:00 +0200 Subject: [PATCH] fs/io/AutoGunzipReader: use std::unique_ptr<> --- src/fs/io/AutoGunzipReader.cxx | 10 +++++----- src/fs/io/AutoGunzipReader.hxx | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/fs/io/AutoGunzipReader.cxx b/src/fs/io/AutoGunzipReader.cxx index 158df7b52..38ac6a320 100644 --- a/src/fs/io/AutoGunzipReader.cxx +++ b/src/fs/io/AutoGunzipReader.cxx @@ -20,10 +20,10 @@ #include "AutoGunzipReader.hxx" #include "GunzipReader.hxx" -AutoGunzipReader::~AutoGunzipReader() noexcept -{ - delete gunzip; -} +AutoGunzipReader::AutoGunzipReader(Reader &_next) noexcept + :peek(_next) {} + +AutoGunzipReader::~AutoGunzipReader() noexcept = default; gcc_pure static bool @@ -43,7 +43,7 @@ AutoGunzipReader::Detect() } if (IsGzip(data)) - next = gunzip = new GunzipReader(peek); + next = (gunzip = std::make_unique(peek)).get(); else next = &peek; } diff --git a/src/fs/io/AutoGunzipReader.hxx b/src/fs/io/AutoGunzipReader.hxx index 73a4043af..85025437e 100644 --- a/src/fs/io/AutoGunzipReader.hxx +++ b/src/fs/io/AutoGunzipReader.hxx @@ -21,7 +21,8 @@ #define MPD_AUTO_GUNZIP_READER_HXX #include "PeekReader.hxx" -#include "util/Compiler.h" + +#include class GunzipReader; @@ -32,11 +33,10 @@ class GunzipReader; class AutoGunzipReader final : public Reader { Reader *next = nullptr; PeekReader peek; - GunzipReader *gunzip = nullptr; + std::unique_ptr gunzip; public: - explicit AutoGunzipReader(Reader &_next) noexcept - :peek(_next) {} + explicit AutoGunzipReader(Reader &_next) noexcept; ~AutoGunzipReader() noexcept; /* virtual methods from class Reader */