diff options
author | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2014-06-03 02:14:32 -0700 |
---|---|---|
committer | Nicolas "Pixel" Noble <pixel@nobis-crew.org> | 2014-06-03 02:14:32 -0700 |
commit | 0243f128ddc7ee44db1a8b95f76eb726122ee1d5 (patch) | |
tree | 849119ab62379a31ef28f6fb8303b8824d0bb142 /src/Buffer.cc | |
parent | 185dc2e4a06c52937a3f260b2469cda7d62f6112 (diff) |
Added MMap Handle object.
Diffstat (limited to 'src/Buffer.cc')
-rw-r--r-- | src/Buffer.cc | 21 |
1 files changed, 18 insertions, 3 deletions
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<uint8_t *>(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"; } |