44
55#include < zlib.h>
66
7- std::vector<std::byte> SatisfactorySave::zlibCompress (const std::vector< std::byte>& buffer) {
7+ std::vector<std::byte> SatisfactorySave::zlibCompress (std::span< const std::byte> buffer) {
88 uLong size = compressBound (static_cast <uLong>(buffer.size ()));
99 std::vector<std::byte> buffer_compressed (static_cast <std::size_t >(size));
1010 int state = ::compress (reinterpret_cast <Bytef*>(buffer_compressed.data ()), &size,
@@ -16,19 +16,11 @@ std::vector<std::byte> SatisfactorySave::zlibCompress(const std::vector<std::byt
1616 return buffer_compressed;
1717}
1818
19- std::vector<std::byte> SatisfactorySave::zlibUncompress (const std::vector<std::byte>& buffer,
20- std::size_t uncompressed_size) {
21- std::vector<std::byte> buffer_uncompressed (uncompressed_size);
22- zlibUncompress (buffer_uncompressed.data (), uncompressed_size, buffer.data (), buffer.size ());
23- return buffer_uncompressed;
24- }
25-
26- void SatisfactorySave::zlibUncompress (std::byte* dest, std::size_t destLen, const std::byte* source,
27- std::size_t sourceLen) {
28- auto size = static_cast <uLongf>(destLen);
29- int state = ::uncompress (reinterpret_cast <Bytef*>(dest), &size, reinterpret_cast <const Bytef*>(source),
30- static_cast <uLong>(sourceLen));
31- if (state != Z_OK || size != destLen) {
19+ void SatisfactorySave::zlibUncompress (std::span<std::byte> dest, std::span<const std::byte> source) {
20+ auto size = static_cast <uLongf>(dest.size ());
21+ int state = ::uncompress (reinterpret_cast <Bytef*>(dest.data ()), &size,
22+ reinterpret_cast <const Bytef*>(source.data ()), static_cast <uLong>(source.size ()));
23+ if (state != Z_OK || size != dest.size ()) {
3224 throw std::runtime_error (" Error decompressing buffer with zlib!" );
3325 }
3426}
0 commit comments