]> git.saurik.com Git - apple/security.git/blobdiff - libsecurity_filedb/lib/ReadWriteSection.cpp
Security-57031.1.35.tar.gz
[apple/security.git] / libsecurity_filedb / lib / ReadWriteSection.cpp
diff --git a/libsecurity_filedb/lib/ReadWriteSection.cpp b/libsecurity_filedb/lib/ReadWriteSection.cpp
deleted file mode 100644 (file)
index de095ea..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#include "ReadWriteSection.h"
-
-uint32 WriteSection::put(uint32 inOffset, uint32 inValue)
-{
-       uint32 aLength = CheckUInt32Add(inOffset, sizeof(inValue));
-       if (aLength > mCapacity)
-               grow(aLength);
-
-       if (mAddress == NULL)
-               CssmError::throwMe(CSSMERR_DL_DATABASE_CORRUPT);
-
-       *reinterpret_cast<uint32 *>(mAddress + inOffset) = htonl(inValue);
-       return aLength;
-}
-
-
-
-uint32 WriteSection::put(uint32 inOffset, uint32 inLength, const uint8 *inData)
-{
-       // if we are being asked to put 0 bytes, just return
-       if (inLength == 0 || inData == NULL)
-       {
-               return inOffset;
-       }
-       
-       uint32 aLength = CheckUInt32Add(inOffset, inLength);
-       
-       // Round up to nearest multiple of 4 bytes, to pad with zeros
-       uint32 aNewOffset = align(aLength);
-       if (aNewOffset > mCapacity)
-               grow(aNewOffset);
-
-       if (mAddress == NULL)
-               CssmError::throwMe(CSSMERR_DL_DATABASE_CORRUPT);
-
-       memcpy(mAddress + inOffset, inData, inLength);
-
-       for (uint32 anOffset = aLength; anOffset < aNewOffset; anOffset++)
-               mAddress[anOffset] = 0;
-
-       return aNewOffset;
-}
-
-
-
-void WriteSection::grow(size_t inNewCapacity)
-{
-       size_t n = CheckUInt32Multiply((uint32)mCapacity, 2);
-       size_t aNewCapacity = max(n, inNewCapacity);
-       mAddress = reinterpret_cast<uint8 *>(mAllocator.realloc(mAddress, aNewCapacity));
-       memset(mAddress + mCapacity, 0, aNewCapacity - mCapacity);
-       mCapacity = aNewCapacity;
-}