Commit 52904a1cf364813f373a4ebb55c27bef7c37dd96

Authored by m-holger
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 9 friend class Buffer;
10 10  
11 11 public:
12   - ~Members();
13   -
14   - private:
15 12 Members(size_t size, unsigned char* buf, bool own_memory);
16 13 Members(std::string&& content);
17 14 Members(Members const&) = delete;
  15 + ~Members();
  16 +
  17 + private:
18 18  
19 19 std::string str;
20 20 bool own_memory;
... ... @@ -50,27 +50,27 @@ Buffer::Members::~Members()
50 50 }
51 51  
52 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 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 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 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 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 92 Buffer::copy(Buffer const& rhs)
93 93 {
94 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 96 if (m->size) {
97 97 memcpy(m->buf, rhs.m->buf, m->size);
98 98 }
... ...