]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Remove layering violations in Vector users
authorFrancesco Chemolli <kinkie@squid-cache.org>
Sun, 2 Feb 2014 08:57:20 +0000 (09:57 +0100)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Sun, 2 Feb 2014 08:57:20 +0000 (09:57 +0100)
12 files changed:
lib/MemPoolMalloc.cc
src/HttpHdrRange.cc
src/HttpHeader.cc
src/HttpRequest.cc
src/adaptation/AccessCheck.cc
src/adaptation/icap/Options.cc
src/base/Vector.h
src/cache_cf.cc
src/client_side.cc
src/errorpage.cc
src/store.cc
src/tests/test_http_range.cc

index 06f18516e353d922e6bffbdf111bf99bffd8be15..bd25ccfe30056c55b19be622cad4b908ce676b05 100644 (file)
@@ -127,7 +127,7 @@ MemPoolMalloc::~MemPoolMalloc()
 bool
 MemPoolMalloc::idleTrigger(int shift) const
 {
-    return freelist.count >> (shift ? 8 : 0);
+    return freelist.size() >> (shift ? 8 : 0);
 }
 
 void
index bea0c7a42c1ba4765deaa918f445a92bbb676122..206c4ad320707ce938066f73cb88a1240c1bc8e2 100644 (file)
@@ -404,14 +404,14 @@ int
 HttpHdrRange::canonize (int64_t newClen)
 {
     clen = newClen;
-    debugs(64, 3, "HttpHdrRange::canonize: started with " << specs.count <<
+    debugs(64, 3, "HttpHdrRange::canonize: started with " << specs.size() <<
            " specs, clen: " << clen);
     Vector<HttpHdrRangeSpec*> goods;
     getCanonizedSpecs(goods);
     merge (goods);
-    debugs(64, 3, "HttpHdrRange::canonize: finished with " << specs.count <<
+    debugs(64, 3, "HttpHdrRange::canonize: finished with " << specs.size() <<
            " specs");
-    return specs.count > 0;
+    return specs.size() > 0; // fixme, should return bool
 }
 
 /* hack: returns true if range specs are too "complex" for Squid to handle */
index bd6c0eb08e08f7d59897f18780710e8142fff870..f54e9c228f6376224f41318b1f32229bfa49e1e5 100644 (file)
@@ -454,12 +454,12 @@ HttpHeader::clean()
          * has been used.  As a hack, just never count zero-sized header
          * arrays.
          */
-        if (0 != entries.count)
-            HttpHeaderStats[owner].hdrUCountDistr.count(entries.count);
+        if (!entries.empty())
+            HttpHeaderStats[owner].hdrUCountDistr.count(entries.size());
 
         ++ HttpHeaderStats[owner].destroyedCount;
 
-        HttpHeaderStats[owner].busyDestroyedCount += entries.count > 0;
+        HttpHeaderStats[owner].busyDestroyedCount += entries.size() > 0;
     } // if (owner <= hoReply)
 
     while ((e = getEntry(&pos))) {
@@ -748,11 +748,11 @@ HttpHeaderEntry *
 HttpHeader::getEntry(HttpHeaderPos * pos) const
 {
     assert(pos);
-    assert(*pos >= HttpHeaderInitPos && *pos < (ssize_t)entries.count);
+    assert(*pos >= HttpHeaderInitPos && *pos < (ssize_t)entries.size());
 
-    for (++(*pos); *pos < (ssize_t)entries.count; ++(*pos)) {
-        if (entries.items[*pos])
-            return (HttpHeaderEntry*)entries.items[*pos];
+    for (++(*pos); *pos < (ssize_t)entries.size(); ++(*pos)) {
+        if (entries[*pos])
+            return (HttpHeaderEntry*)entries[*pos];
     }
 
     return NULL;
@@ -871,9 +871,9 @@ void
 HttpHeader::delAt(HttpHeaderPos pos, int &headers_deleted)
 {
     HttpHeaderEntry *e;
-    assert(pos >= HttpHeaderInitPos && pos < (ssize_t)entries.count);
-    e = (HttpHeaderEntry*)entries.items[pos];
-    entries.items[pos] = NULL;
+    assert(pos >= HttpHeaderInitPos && pos < (ssize_t)entries.size());
+    e = (HttpHeaderEntry*)entries[pos];
+    entries[pos] = NULL;
     /* decrement header length, allow for ": " and crlf */
     len -= e->name.size() + 2 + e->value.size() + 2;
     assert(len >= 0);
@@ -914,7 +914,7 @@ HttpHeader::addEntry(HttpHeaderEntry * e)
     assert_eid(e->id);
     assert(e->name.size());
 
-    debugs(55, 7, HERE << this << " adding entry: " << e->id << " at " << entries.count);
+    debugs(55, 7, this << " adding entry: " << e->id << " at " << entries.size());
 
     if (CBIT_TEST(mask, e->id))
         ++ Headers[e->id].stat.repCount;
index dc18b3351517c0a4db0d3b70ca570bde2a17d1a1..f825ff4cccca916108e11e154cd8cb3562e8f829 100644 (file)
@@ -479,7 +479,7 @@ HttpRequest::adaptHistoryImport(const HttpRequest &them)
 bool
 HttpRequest::multipartRangeRequest() const
 {
-    return (range && range->specs.count > 1);
+    return (range && !range->specs.empty());
 }
 
 bool
index 3e50fc67c818618a272323d48e1848114a03f83e..19ee86346bce58c48c7965165cd14aeb60e35464 100644 (file)
@@ -102,7 +102,7 @@ Adaptation::AccessCheck::check()
         AccessRule *r = *i;
         if (isCandidate(*r)) {
             debugs(93, 5, HERE << "check: rule '" << r->id << "' is a candidate");
-            candidates += r->id;
+            candidates.push_back(r->id);
         }
     }
 
index e219a3751ca5081b14ab17d17a6fd3524915cdf4..9524a1ec49698250e3f47eb251ebb58a17b8405a 100644 (file)
@@ -125,7 +125,7 @@ void Adaptation::Icap::Options::configure(const HttpReply *reply)
 void Adaptation::Icap::Options::cfgMethod(ICAP::Method m)
 {
     Must(m != ICAP::methodNone);
-    methods += m;
+    methods.push_back(m);
 }
 
 // TODO: HttpHeader should provide a general method for this type of conversion
index 5f430955b03b739fae7ac18647ea3dcf4d211f32..69b7669942531f75ea0d646b9c73b81f7f01b1a1 100644 (file)
@@ -115,6 +115,8 @@ public:
     const_iterator begin () const;
     iterator end();
     const_iterator end () const;
+    E& at(unsigned i);
+    const E& at(unsigned i) const;
     E& operator [] (unsigned i);
     const E& operator [] (unsigned i) const;
 
@@ -367,7 +369,7 @@ Vector<E>::end() const
 
 template<class E>
 E &
-Vector<E>::operator [] (unsigned i)
+Vector<E>::at(unsigned i)
 {
     assert (size() > i);
     return items[i];
@@ -375,12 +377,26 @@ Vector<E>::operator [] (unsigned i)
 
 template<class E>
 const E &
-Vector<E>::operator [] (unsigned i) const
+Vector<E>::at(unsigned i) const
 {
     assert (size() > i);
     return items[i];
 }
 
+template<class E>
+E &
+Vector<E>::operator [] (unsigned i)
+{
+    return items[i];
+}
+
+template<class E>
+const E &
+Vector<E>::operator [] (unsigned i) const
+{
+    return items[i];
+}
+
 template<class C>
 VectorIteratorBase<C>::VectorIteratorBase() : pos(0), theVector(NULL)
 {}
index 7b1f453a458c83609d6436fdeba5f65a5794f6f6..d1e8e3eead3884a56e9e51b074a3ba97ca7aaaa9 100644 (file)
@@ -1897,7 +1897,7 @@ static int
 find_fstype(char *type)
 {
     for (size_t i = 0; i < StoreFileSystem::FileSystems().size(); ++i)
-        if (strcasecmp(type, StoreFileSystem::FileSystems().items[i]->type()) == 0)
+        if (strcasecmp(type, StoreFileSystem::FileSystems().at(i)->type()) == 0)
             return (int)i;
 
     return (-1);
@@ -1940,7 +1940,7 @@ parse_cachedir(SquidConfig::_cacheSwap * swap)
 
             sd = dynamic_cast<SwapDir *>(swap->swapDirs[i].getRaw());
 
-            if (strcmp(sd->type(), StoreFileSystem::FileSystems().items[fs]->type()) != 0) {
+            if (strcmp(sd->type(), StoreFileSystem::FileSystems().at(fs)->type()) != 0) {
                 debugs(3, DBG_CRITICAL, "ERROR: Can't change type of existing cache_dir " <<
                        sd->type() << " " << sd->path << " to " << type_str << ". Restart required");
                 return;
@@ -1965,7 +1965,7 @@ parse_cachedir(SquidConfig::_cacheSwap * swap)
 
     allocate_new_swapdir(swap);
 
-    swap->swapDirs[swap->n_configured] = StoreFileSystem::FileSystems().items[fs]->createSwapDir();
+    swap->swapDirs[swap->n_configured] = StoreFileSystem::FileSystems().at(fs)->createSwapDir();
 
     sd = dynamic_cast<SwapDir *>(swap->swapDirs[swap->n_configured].getRaw());
 
index b5a00a35273a77575407ea661b43957228eecf21..f9fe7b1e963f24d4d90f7e2d4af930996b6938e7 100644 (file)
@@ -1361,7 +1361,7 @@ ClientSocketContext::buildRangeHeader(HttpReply * rep)
         bool replyMatchRequest = rep->content_range != NULL ?
                                  request->range->contains(rep->content_range->spec) :
                                  true;
-        const int spec_count = http->request->range->specs.count;
+        const int spec_count = http->request->range->specs.size();
         int64_t actual_clen = -1;
 
         debugs(33, 3, "clientBuildRangeHeader: range spec count: " <<
index 6c25de0ae2542148fee02128ed17f66f9696268d..d7d4c51a22c87e6a2230e6d545ed4e8fcab8e405 100644 (file)
@@ -206,7 +206,7 @@ errorInitialize(void)
             /** \par
              * Index any unknown file names used by deny_info.
              */
-            ErrorDynamicPageInfo *info = ErrorDynamicPages.items[i - ERR_MAX];
+            ErrorDynamicPageInfo *info = ErrorDynamicPages[i - ERR_MAX];
             assert(info && info->id == i && info->page_name);
 
             const char *pg = info->page_name;
@@ -533,7 +533,7 @@ errorPageId(const char *page_name)
     }
 
     for (size_t j = 0; j < ErrorDynamicPages.size(); ++j) {
-        if (strcmp(ErrorDynamicPages.items[j]->page_name, page_name) == 0)
+        if (strcmp(ErrorDynamicPages[j]->page_name, page_name) == 0)
             return j + ERR_MAX;
     }
 
@@ -563,7 +563,7 @@ errorPageName(int pageId)
         return err_type_str[pageId];
 
     if (pageId >= ERR_MAX && pageId - ERR_MAX < (ssize_t)ErrorDynamicPages.size())
-        return ErrorDynamicPages.items[pageId - ERR_MAX]->page_name;
+        return ErrorDynamicPages[pageId - ERR_MAX]->page_name;
 
     return "ERR_UNKNOWN";      /* should not happen */
 }
@@ -595,8 +595,8 @@ ErrorState::ErrorState(err_type t, Http::StatusCode status, HttpRequest * req) :
 {
     memset(&ftp, 0, sizeof(ftp));
 
-    if (page_id >= ERR_MAX && ErrorDynamicPages.items[page_id - ERR_MAX]->page_redirect != Http::scNone)
-        httpStatus = ErrorDynamicPages.items[page_id - ERR_MAX]->page_redirect;
+    if (page_id >= ERR_MAX && ErrorDynamicPages[page_id - ERR_MAX]->page_redirect != Http::scNone)
+        httpStatus = ErrorDynamicPages[page_id - ERR_MAX]->page_redirect;
 
     if (req != NULL) {
         request = req;
index 593db046d93a60df724eb8d7119d6be6de2e2f10..6da82d5048a4be0d6f74284114c44f434cd26894 100644 (file)
@@ -1290,7 +1290,7 @@ storeLateRelease(void *unused)
     }
 
     for (i = 0; i < 10; ++i) {
-        e = LateReleaseStack.count ? LateReleaseStack.pop() : NULL;
+        e = LateReleaseStack.empty() ? NULL : LateReleaseStack.pop();
 
         if (e == NULL) {
             /* done! */
index bbf05445121f4df5e8e9abc07cf01e2a83ded17b..160a96beb2e897faa30dcc778e0c625170f6e3f0 100644 (file)
@@ -86,7 +86,7 @@ testRangeParser(char const *rangestring)
 
     HttpHdrRange copy(*range);
 
-    assert (copy.specs.count == range->specs.count);
+    assert (copy.specs.size() == range->specs.size());
 
     HttpHdrRange::iterator pos = range->begin();
 
@@ -111,7 +111,7 @@ void
 testRangeIter ()
 {
     HttpHdrRange *range=rangeFromString("bytes=0-3, 1-, -2");
-    assert (range->specs.count == 3);
+    assert (range->specs.size() == 3);
     size_t counter = 0;
     HttpHdrRange::iterator i = range->begin();
 
@@ -132,7 +132,7 @@ void
 testRangeCanonization()
 {
     HttpHdrRange *range=rangeFromString("bytes=0-3, 1-, -2");
-    assert (range->specs.count == 3);
+    assert (range->specs.size() == 3);
 
     /* 0-3 needs a content length of 4 */
     /* This passes in the extant code - but should it? */
@@ -140,13 +140,13 @@ testRangeCanonization()
     if (!range->canonize(3))
         exit(1);
 
-    assert (range->specs.count == 3);
+    assert (range->specs.size() == 3);
 
     delete range;
 
     range=rangeFromString("bytes=0-3, 1-, -2");
 
-    assert (range->specs.count == 3);
+    assert (range->specs.size() == 3);
 
     /* 0-3 needs a content length of 4 */
     if (!range->canonize(4))
@@ -156,7 +156,7 @@ testRangeCanonization()
 
     range=rangeFromString("bytes=3-6");
 
-    assert (range->specs.count == 1);
+    assert (range->specs.size() == 1);
 
     /* 3-6 needs a content length of 4 or more */
     if (range->canonize(3))
@@ -166,7 +166,7 @@ testRangeCanonization()
 
     range=rangeFromString("bytes=3-6");
 
-    assert (range->specs.count == 1);
+    assert (range->specs.size() == 1);
 
     /* 3-6 needs a content length of 4 or more */
     if (!range->canonize(4))
@@ -176,12 +176,12 @@ testRangeCanonization()
 
     range=rangeFromString("bytes=1-1,2-3");
 
-    assert (range->specs.count == 2);
+    assert (range->specs.size()== 2);
 
     if (!range->canonize(4))
         exit(1);
 
-    assert (range->specs.count == 2);
+    assert (range->specs.size() == 2);
 
     delete range;
 }