Przeglądaj źródła

Fixed bug that size_ is not updated when WrDiskCacheEntry::append is called

Tatsuhiro Tsujikawa 13 lat temu
rodzic
commit
df5f1fe77f
2 zmienionych plików z 2 dodań i 0 usunięć
  1. 1 0
      src/WrDiskCacheEntry.cc
  2. 1 0
      test/WrDiskCacheEntryTest.cc

+ 1 - 0
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;

+ 1 - 0
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));