From a7fd2f8080123ddcbb51fdcc3d3e786e60a111b5 Mon Sep 17 00:00:00 2001 From: Rusty Wagner Date: Mon, 1 Apr 2024 15:19:59 -0400 Subject: Add md1rom binary view with pure Rust lzma implementation --- databuffer.cpp | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) (limited to 'databuffer.cpp') diff --git a/databuffer.cpp b/databuffer.cpp index 861c60ed..6f9c3258 100644 --- a/databuffer.cpp +++ b/databuffer.cpp @@ -222,7 +222,7 @@ DataBuffer DataBuffer::FromBase64(const string& src) bool DataBuffer::ZlibCompress(DataBuffer& output) const { - BNDataBuffer* result = BNZlibCompress(output.m_buffer); + BNDataBuffer* result = BNZlibCompress(m_buffer); if (!result) return false; output = DataBuffer(result); @@ -232,7 +232,37 @@ bool DataBuffer::ZlibCompress(DataBuffer& output) const bool DataBuffer::ZlibDecompress(DataBuffer& output) const { - BNDataBuffer* result = BNZlibDecompress(output.m_buffer); + BNDataBuffer* result = BNZlibDecompress(m_buffer); + if (!result) + return false; + output = DataBuffer(result); + return true; +} + + +bool DataBuffer::LzmaDecompress(DataBuffer& output) const +{ + BNDataBuffer* result = BNLzmaDecompress(m_buffer); + if (!result) + return false; + output = DataBuffer(result); + return true; +} + + +bool DataBuffer::Lzma2Decompress(DataBuffer& output) const +{ + BNDataBuffer* result = BNLzma2Decompress(m_buffer); + if (!result) + return false; + output = DataBuffer(result); + return true; +} + + +bool DataBuffer::XzDecompress(DataBuffer& output) const +{ + BNDataBuffer* result = BNXzDecompress(m_buffer); if (!result) return false; output = DataBuffer(result); -- cgit v1.3.1