summaryrefslogtreecommitdiff
path: root/databuffer.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2024-04-01 15:19:59 -0400
committerRusty Wagner <rusty.wagner@gmail.com>2024-04-01 16:07:49 -0400
commita7fd2f8080123ddcbb51fdcc3d3e786e60a111b5 (patch)
treee3b81857df1c778e8c5cfa0afc567675963d5801 /databuffer.cpp
parent020562880d65802d6eef26ca32428a405bb78dc3 (diff)
Add md1rom binary view with pure Rust lzma implementation
Diffstat (limited to 'databuffer.cpp')
-rw-r--r--databuffer.cpp34
1 files changed, 32 insertions, 2 deletions
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);