]> git.saurik.com Git - apple/security.git/blobdiff - cdsa/cdsa_utilities/bufferfifo.cpp
Security-177.tar.gz
[apple/security.git] / cdsa / cdsa_utilities / bufferfifo.cpp
index d5818d9fd8e10fc0f4a0a1c99cf0e85c4a2b7104..0765261cfe598721b8bf3547087c695ba6a02794 100644 (file)
@@ -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();