From df5f1fe77fac127c10af35b218ce613cbc33db1e Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Thu, 6 Dec 2012 03:04:05 +0900 Subject: [PATCH] Fixed bug that size_ is not updated when WrDiskCacheEntry::append is called --- src/WrDiskCacheEntry.cc | 1 + test/WrDiskCacheEntryTest.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/src/WrDiskCacheEntry.cc b/src/WrDiskCacheEntry.cc index 77b5a2f2..15909e3c 100644 --- a/src/WrDiskCacheEntry.cc +++ b/src/WrDiskCacheEntry.cc @@ -116,6 +116,7 @@ size_t WrDiskCacheEntry::append(int64_t goff, const unsigned char *data, size_t wlen = std::min((*i)->capacity - (*i)->len, len); memcpy((*i)->data + (*i)->offset + (*i)->len, data, wlen); (*i)->len += wlen; + size_ += wlen; return wlen; } else { return 0; diff --git a/test/WrDiskCacheEntryTest.cc b/test/WrDiskCacheEntryTest.cc index d58dc1da..71779a5a 100644 --- a/test/WrDiskCacheEntryTest.cc +++ b/test/WrDiskCacheEntryTest.cc @@ -61,6 +61,7 @@ void WrDiskCacheEntryTest::testAppend() CPPUNIT_ASSERT_EQUAL((size_t)3, e.append(3, (const unsigned char*)"barbaz", 6)); CPPUNIT_ASSERT_EQUAL((size_t)6, cell->len); + CPPUNIT_ASSERT_EQUAL((size_t)6, e.getSize()); CPPUNIT_ASSERT_EQUAL((size_t)0, e.append(7, (const unsigned char*)"FOO", 3));