]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Convert cacheDigestClone() to member
authorAmos Jeffries <squid3@treenet.co.nz>
Thu, 5 Nov 2015 15:37:50 +0000 (07:37 -0800)
committerAmos Jeffries <squid3@treenet.co.nz>
Thu, 5 Nov 2015 15:37:50 +0000 (07:37 -0800)
src/CacheDigest.cc
src/CacheDigest.h
src/test_cache_digest.cc
src/tests/stub_CacheDigest.cc

index 4ad5a9050eff63ffe89719a6bcd46dd856b95332..bafc01a0a9a6ae8752fd67be7f30db59d513c73b 100644 (file)
@@ -67,15 +67,14 @@ CacheDigest::~CacheDigest()
 }
 
 CacheDigest *
-cacheDigestClone(const CacheDigest * cd)
+CacheDigest::clone() const
 {
     CacheDigest *clone;
-    assert(cd);
-    clone = new CacheDigest(cd->capacity, cd->bits_per_entry);
-    clone->count = cd->count;
-    clone->del_count = cd->del_count;
-    assert(cd->mask_size == clone->mask_size);
-    memcpy(clone->mask, cd->mask, cd->mask_size);
+    clone = new CacheDigest(capacity, bits_per_entry);
+    clone->count = count;
+    clone->del_count = del_count;
+    assert(mask_size == clone->mask_size);
+    memcpy(clone->mask, mask, mask_size);
     return clone;
 }
 
index c76a855001df5f21f126b38028bb3c6efc105105..40bf14a0145e8c008d4f7620b3071bbbf9106cae 100644 (file)
@@ -24,6 +24,10 @@ public:
     CacheDigest(int capacity, int bpe);
     ~CacheDigest();
 
+    // NP: only used by broken unit-test
+    /// produce a new identical copy of the digest object
+    CacheDigest *clone() const;
+
 public:
     /* public, read-only */
     char *mask;         /* bit mask */
@@ -34,7 +38,6 @@ public:
     int del_count;      /* number of deletions performed so far */
 };
 
-CacheDigest *cacheDigestClone(const CacheDigest * cd);
 void cacheDigestClear(CacheDigest * cd);
 void cacheDigestChangeCap(CacheDigest * cd, int new_cap);
 int cacheDigestTest(const CacheDigest * cd, const cache_key * key);
index b0e8701140b3a9a06ea57efc940ae99c663a3b98..cedcf575ff4540281516c7b6f52152f951a8d8be 100644 (file)
@@ -581,7 +581,7 @@ main(int argc, char *argv[])
     /* digest peer cache content */
     cacheResetDigest(them);
 
-    us->digest = cacheDigestClone(them->digest);    /* @netw@ */
+    us->digest = them->digest->clone();
 
     /* shift the time in access log to match ready_time */
     fileIteratorSetCurTime(fis[0], ready_time);
index 851ac8fd8222037213be15ed542f3b42828bf67f..685cbeb4e5f9be5013945940d0e0dc0a4e8da4eb 100644 (file)
@@ -19,7 +19,7 @@ class StoreEntry;
 #include "CacheDigest.h"
 CacheDigest::CacheDigest(int, int) {STUB}
 CacheDigest::~CacheDigest() {STUB}
-CacheDigest * cacheDigestClone(const CacheDigest *) STUB_RETVAL(NULL)
+CacheDigest *CacheDigest::clone() const STUB_RETVAL(nullptr)
 void cacheDigestClear(CacheDigest * ) STUB
 void cacheDigestChangeCap(CacheDigest *,int) STUB
 int cacheDigestTest(const CacheDigest *, const cache_key *) STUB_RETVAL(1)