From 0243f128ddc7ee44db1a8b95f76eb726122ee1d5 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Tue, 3 Jun 2014 02:14:32 -0700 Subject: Added MMap Handle object. --- src/Buffer.cc | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src/Buffer.cc') diff --git a/src/Buffer.cc b/src/Buffer.cc index 42dbd52..b4dfbec 100644 --- a/src/Buffer.cc +++ b/src/Buffer.cc @@ -60,14 +60,29 @@ ssize_t Balau::Buffer::write(const void * buf, size_t count) throw (GeneralExcep } void Balau::Buffer::reset() { - if (!m_fromConst) - m_buffer = (uint8_t *) realloc(m_buffer, 0); - m_bufSize = 0; + if (!m_fromConst) { + m_buffer = (uint8_t *)realloc(m_buffer, 0); + m_bufSize = 0; + } m_numBlocks = 0; wseek(0); rseek(0); } +void Balau::Buffer::clear() { + reset(); + m_fromConst = false; + m_buffer = NULL; + m_bufSize = 0; +} + +void Balau::Buffer::borrow(const uint8_t * buffer, size_t s) { + clear(); + m_fromConst = true; + m_buffer = const_cast(buffer); + m_bufSize = s; +} + bool Balau::Buffer::isClosed() { return false; } bool Balau::Buffer::isEOF() { return rtell() == m_bufSize; } const char * Balau::Buffer::getName() { return "Buffer"; } -- cgit v1.2.3