]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Adapt some callers to std:: API
authorFrancesco Chemolli <kinkie@squid-cache.org>
Tue, 11 Feb 2014 09:57:24 +0000 (10:57 +0100)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Tue, 11 Feb 2014 09:57:24 +0000 (10:57 +0100)
include/Stack.h
lib/MemPoolMalloc.cc
src/cbdata.cc
src/store.cc

index fe39f6680fd4f283dfec70a5b49712ee74d1c3d0..ac1ec1771212359c8204ea700c4a88f36dda3204 100644 (file)
@@ -48,7 +48,7 @@ public:
     typedef typename Vector<S>::value_type value_type;
     typedef typename Vector<S>::pointer pointer;
     value_type pop() {
-        if (!count)
+        if (Vector<S>::empty())
             return value_type();
 
         value_type result = items[--count];
@@ -62,6 +62,10 @@ public:
     value_type top() const {
         return count ? items[count - 1] : value_type();
     }
+
+    void push(S item) {
+        Vector<S>::push_back(item);
+    }
 };
 
 #endif /* SQUID_STACK_H */
index bd25ccfe30056c55b19be622cad4b908ce676b05..bc5d369021bf59ede0038a288097de2dd1cbd670 100644 (file)
@@ -51,7 +51,11 @@ extern time_t squid_curtime;
 void *
 MemPoolMalloc::allocate()
 {
-    void *obj = freelist.pop();
+    void *obj = NULL;
+    if (!freelist.empty()) {
+        obj = freelist.top();
+        freelist.pop();
+    }
     if (obj) {
         memMeterDec(meter.idle);
         ++saved_calls;
@@ -77,7 +81,7 @@ MemPoolMalloc::deallocate(void *obj, bool aggressive)
         if (doZero)
             memset(obj, 0, obj_size);
         memMeterInc(meter.idle);
-        freelist.push_back(obj);
+        freelist.push(obj);
     }
 }
 
@@ -133,7 +137,9 @@ MemPoolMalloc::idleTrigger(int shift) const
 void
 MemPoolMalloc::clean(time_t maxage)
 {
-    while (void *obj = freelist.pop()) {
+    while (!freelist.empty()) {
+        void *obj = freelist.top();
+        freelist.pop();
         memMeterDec(meter.idle);
         memMeterDec(meter.alloc);
         xfree(obj);
index 7c656c7ee054b3869fb2762b0a21ef58b49d47fb..74e172448316a7bb0a6dc65d33afaa5c1073e6a4 100644 (file)
@@ -118,7 +118,7 @@ public:
         if (calls.size() > 1000)
             return;
 
-        calls.push_back(new CBDataCall(label, aFile, aLine));
+        calls.push(new CBDataCall(label, aFile, aLine));
     }
 
     dlink_node link;
@@ -209,10 +209,11 @@ cbdata_hash(const void *p, unsigned int mod)
 cbdata::~cbdata()
 {
 #if USE_CBDATA_DEBUG
-    CBDataCall *aCall;
 
-    while ((aCall = calls.pop()))
-        delete aCall;
+    while (!calls.empty()) {
+        delete calls.top();
+        calls.pop();
+    }
 
 #endif
 
index 6da82d5048a4be0d6f74284114c44f434cd26894..6a75aef627a31bcaf372cd8edc322a6a9a20410f 100644 (file)
@@ -1253,7 +1253,7 @@ StoreEntry::release()
             // lock the entry until rebuilding is done
             lock("storeLateRelease");
             setReleaseFlag();
-            LateReleaseStack.push_back(this);
+            LateReleaseStack.push(this);
         } else {
             destroyStoreEntry(static_cast<hash_link *>(this));
             // "this" is no longer valid
@@ -1289,8 +1289,14 @@ storeLateRelease(void *unused)
         return;
     }
 
+    // TODO: this works but looks unelegant.
     for (i = 0; i < 10; ++i) {
-        e = LateReleaseStack.empty() ? NULL : LateReleaseStack.pop();
+        if (LateReleaseStack.empty()) {
+            e = NULL;
+        } else {
+            e = LateReleaseStack.top();
+            LateReleaseStack.pop();
+        }
 
         if (e == NULL) {
             /* done! */