X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/bac41a7b9a0a9254fa30f8bb6e6038ab71a483e2..ce0ac947b4708d0bc1c7e6789b3e1f3bfc80d6e9:/cdsa/cdsa_utilities/bufferfifo.cpp diff --git a/cdsa/cdsa_utilities/bufferfifo.cpp b/cdsa/cdsa_utilities/bufferfifo.cpp index d5818d9f..0765261c 100644 --- a/cdsa/cdsa_utilities/bufferfifo.cpp +++ b/cdsa/cdsa_utilities/bufferfifo.cpp @@ -37,6 +37,14 @@ BufferFifo::~BufferFifo() } } +void BufferFifo::clearBuffer() +{ + while (!mBuffers.empty()) { + delete mBuffers.front(); + mBuffers.pop(); + } + mSize = 0; +} // // This is the put function of a Sink. We store the data in at most two buffers: @@ -45,6 +53,8 @@ BufferFifo::~BufferFifo() // void BufferFifo::consume(const void *data, size_t size) { + mSize += size; + // step 1: fill the rearmost (partially filled) buffer if (size > 0 && !mBuffers.empty()) { Buffer *current = mBuffers.back();