diff --git a/Net/include/Poco/Net/MultipartReader.h b/Net/include/Poco/Net/MultipartReader.h index c025065f2..f35c9c337 100644 --- a/Net/include/Poco/Net/MultipartReader.h +++ b/Net/include/Poco/Net/MultipartReader.h @@ -20,6 +20,7 @@ #include "Poco/Net/Net.h" #include "Poco/BufferedStreamBuf.h" +#include #include @@ -150,7 +151,7 @@ private: std::istream& _istr; std::string _boundary; - MultipartInputStream* _pMPI; + std::unique_ptr _pMPI; }; diff --git a/Net/src/MultipartReader.cpp b/Net/src/MultipartReader.cpp index 24f42c341..f3a2f2bba 100644 --- a/Net/src/MultipartReader.cpp +++ b/Net/src/MultipartReader.cpp @@ -175,23 +175,20 @@ MultipartInputStream::~MultipartInputStream() MultipartReader::MultipartReader(std::istream& istr): - _istr(istr), - _pMPI(0) + _istr(istr) { } MultipartReader::MultipartReader(std::istream& istr, const std::string& boundary): _istr(istr), - _boundary(boundary), - _pMPI(0) + _boundary(boundary) { } MultipartReader::~MultipartReader() { - delete _pMPI; } @@ -209,8 +206,7 @@ void MultipartReader::nextPart(MessageHeader& messageHeader) throw MultipartException("No more parts available"); } parseHeader(messageHeader); - delete _pMPI; - _pMPI = new MultipartInputStream(_istr, _boundary); + _pMPI = std::make_unique(_istr, _boundary); }