Commit 52904a1cf364813f373a4ebb55c27bef7c37dd96
1 parent
88a62f78
Refactor `Buffer`: replace raw `new` with `std::make_unique` for safer and more …
…modern resource management.
Showing
1 changed file
with
9 additions
and
9 deletions
libqpdf/Buffer.cc
| @@ -9,12 +9,12 @@ class Buffer::Members | @@ -9,12 +9,12 @@ class Buffer::Members | ||
| 9 | friend class Buffer; | 9 | friend class Buffer; |
| 10 | 10 | ||
| 11 | public: | 11 | public: |
| 12 | - ~Members(); | ||
| 13 | - | ||
| 14 | - private: | ||
| 15 | Members(size_t size, unsigned char* buf, bool own_memory); | 12 | Members(size_t size, unsigned char* buf, bool own_memory); |
| 16 | Members(std::string&& content); | 13 | Members(std::string&& content); |
| 17 | Members(Members const&) = delete; | 14 | Members(Members const&) = delete; |
| 15 | + ~Members(); | ||
| 16 | + | ||
| 17 | + private: | ||
| 18 | 18 | ||
| 19 | std::string str; | 19 | std::string str; |
| 20 | bool own_memory; | 20 | bool own_memory; |
| @@ -50,27 +50,27 @@ Buffer::Members::~Members() | @@ -50,27 +50,27 @@ Buffer::Members::~Members() | ||
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | Buffer::Buffer() : | 52 | Buffer::Buffer() : |
| 53 | - m(new Members(0, nullptr, true)) | 53 | + m(std::make_unique<Members>(0, nullptr, true)) |
| 54 | { | 54 | { |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | Buffer::Buffer(size_t size) : | 57 | Buffer::Buffer(size_t size) : |
| 58 | - m(new Members(size, nullptr, true)) | 58 | + m(std::make_unique<Members>(size, nullptr, true)) |
| 59 | { | 59 | { |
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | Buffer::Buffer(std::string&& content) : | 62 | Buffer::Buffer(std::string&& content) : |
| 63 | - m(new Members(std::move(content))) | 63 | + m(std::make_unique<Members>(std::move(content))) |
| 64 | { | 64 | { |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | Buffer::Buffer(unsigned char* buf, size_t size) : | 67 | Buffer::Buffer(unsigned char* buf, size_t size) : |
| 68 | - m(new Members(size, buf, false)) | 68 | + m(std::make_unique<Members>(size, buf, false)) |
| 69 | { | 69 | { |
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | Buffer::Buffer(std::string& content) : | 72 | Buffer::Buffer(std::string& content) : |
| 73 | - m(new Members(content.size(), reinterpret_cast<unsigned char*>(content.data()), false)) | 73 | + m(std::make_unique<Members>(content.size(), reinterpret_cast<unsigned char*>(content.data()), false)) |
| 74 | { | 74 | { |
| 75 | } | 75 | } |
| 76 | 76 | ||
| @@ -92,7 +92,7 @@ void | @@ -92,7 +92,7 @@ void | ||
| 92 | Buffer::copy(Buffer const& rhs) | 92 | Buffer::copy(Buffer const& rhs) |
| 93 | { | 93 | { |
| 94 | if (this != &rhs) { | 94 | if (this != &rhs) { |
| 95 | - m = std::unique_ptr<Members>(new Members(rhs.m->size, nullptr, true)); | 95 | + m = std::make_unique<Members>(rhs.m->size, nullptr, true); |
| 96 | if (m->size) { | 96 | if (m->size) { |
| 97 | memcpy(m->buf, rhs.m->buf, m->size); | 97 | memcpy(m->buf, rhs.m->buf, m->size); |
| 98 | } | 98 | } |