Skip to content

Commit 7a94c2a

Browse files
authored
Merge pull request #54 from svigerske/master
eliminate use of std::make_unique, remove zstr_make_unique_polyfill.h So that codebase does not mix GPL and MIT licenses, but is still C++11-compatible
2 parents c73b8b4 + 12e18ea commit 7a94c2a

2 files changed

Lines changed: 6 additions & 96 deletions

File tree

src/zstr.hpp

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@
1616
#include <memory>
1717
#include <iostream>
1818

19-
#if __cplusplus == 201103L
20-
#include <zstr_make_unique_polyfill.h>
21-
#endif
22-
2319
namespace zstr
2420
{
2521

@@ -140,10 +136,10 @@ class istreambuf
140136
window_bits(_window_bits)
141137
{
142138
assert(sbuf_p);
143-
in_buff = std::make_unique<char[]>(buff_size);
139+
in_buff = std::unique_ptr<char[]>(new char[buff_size]);
144140
in_buff_start = in_buff.get();
145141
in_buff_end = in_buff.get();
146-
out_buff = std::make_unique<char[]>(buff_size);
142+
out_buff = std::unique_ptr<char[]>(new char[buff_size]);
147143
setg(out_buff.get(), out_buff.get(), out_buff.get());
148144
}
149145

@@ -213,7 +209,7 @@ class istreambuf
213209
else
214210
{
215211
// run inflate() on input
216-
if (! zstrm_p) zstrm_p = std::make_unique<detail::z_stream_wrapper>(true, Z_DEFAULT_COMPRESSION, window_bits);
212+
if (! zstrm_p) zstrm_p = std::unique_ptr<detail::z_stream_wrapper>(new detail::z_stream_wrapper(true, Z_DEFAULT_COMPRESSION, window_bits));
217213
zstrm_p->next_in = reinterpret_cast< decltype(zstrm_p->next_in) >(in_buff_start);
218214
zstrm_p->avail_in = uint32_t(in_buff_end - in_buff_start);
219215
zstrm_p->next_out = reinterpret_cast< decltype(zstrm_p->next_out) >(out_buff_free_start);
@@ -266,12 +262,12 @@ class ostreambuf
266262
: sbuf_p(_sbuf_p),
267263
in_buff(),
268264
out_buff(),
269-
zstrm_p(std::make_unique<detail::z_stream_wrapper>(false, _level, _window_bits)),
265+
zstrm_p(new detail::z_stream_wrapper(false, _level, _window_bits)),
270266
buff_size(_buff_size)
271267
{
272268
assert(sbuf_p);
273-
in_buff = std::make_unique<char[]>(buff_size);
274-
out_buff = std::make_unique<char[]>(buff_size);
269+
in_buff = std::unique_ptr<char[]>(new char[buff_size]);
270+
out_buff = std::unique_ptr<char[]>(new char[buff_size]);
275271
setp(in_buff.get(), in_buff.get() + buff_size);
276272
}
277273

src/zstr_make_unique_polyfill.h

Lines changed: 0 additions & 86 deletions
This file was deleted.

0 commit comments

Comments
 (0)