From: Francesco Chemolli Date: Mon, 24 Aug 2015 14:20:07 +0000 (+0200) Subject: mempools-nozero part 1: fix ctors of classes declared MEMPROXY_CLASS X-Git-Tag: SQUID_4_0_1~114 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d59e47424bf77999064dc37282ef40d7ac23a33a;p=thirdparty%2Fsquid.git mempools-nozero part 1: fix ctors of classes declared MEMPROXY_CLASS --- diff --git a/src/MemObject.cc b/src/MemObject.cc index a5f90fd1d5..a92d14bb73 100644 --- a/src/MemObject.cc +++ b/src/MemObject.cc @@ -96,16 +96,16 @@ MemObject::MemObject() : inmem_lo(0), nclients(0), smpCollapsed(false), - request(NULL), - ping_reply_callback(NULL), - ircb_data(NULL), + request(nullptr), + ping_reply_callback(nullptr), + ircb_data(nullptr), id(0), object_sz(-1), swap_hdr_sz(0), #if URL_CHECKSUM_DEBUG chksum(0), #endif - vary_headers(NULL) + vary_headers(nullptr) { debugs(20, 3, "new MemObject " << this); memset(&start_ping, 0, sizeof(start_ping)); diff --git a/src/StoreMeta.cc b/src/StoreMeta.cc index 832710fcd0..15bab0d04a 100644 --- a/src/StoreMeta.cc +++ b/src/StoreMeta.cc @@ -186,3 +186,16 @@ StoreMeta::checkConsistency(StoreEntry *) const return true; } +StoreMeta::StoreMeta(const StoreMeta &s) : + length(s.length), + value(s.value), + next(s.next) +{} + +StoreMeta& StoreMeta::operator=(const StoreMeta &s) +{ + length=s.length; + value=s.value; + next=s.next; + return *this; +} diff --git a/src/StoreMeta.h b/src/StoreMeta.h index f47aef03e9..a550c774af 100644 --- a/src/StoreMeta.h +++ b/src/StoreMeta.h @@ -111,6 +111,11 @@ enum { /// \ingroup SwapStoreAPI class StoreMeta { +protected: + StoreMeta() : length(-1), value(nullptr), next(nullptr) { } + StoreMeta(const StoreMeta &); + StoreMeta& operator=(const StoreMeta &); + public: static bool validType(char); static int const MaximumTLVLength; diff --git a/src/URL.h b/src/URL.h index 3c1b1933cb..9a0f88e7a0 100644 --- a/src/URL.h +++ b/src/URL.h @@ -26,8 +26,8 @@ class URL MEMPROXY_CLASS(URL); public: - URL() : scheme_(), hostIsNumeric_(false), port_(0) {*host_=0;} - URL(AnyP::UriScheme const &aScheme) : scheme_(aScheme), hostIsNumeric_(false), port_(0) {*host_=0;} + URL() : hostIsNumeric_(false), port_(0) {*host_=0;} + URL(AnyP::UriScheme const &aScheme); void clear() { scheme_=AnyP::PROTO_NONE; diff --git a/src/acl/Acl.cc b/src/acl/Acl.cc index dcbc520889..6961a5803d 100644 --- a/src/acl/Acl.cc +++ b/src/acl/Acl.cc @@ -120,8 +120,17 @@ ACL::Factory (char const *type) } ACL::ACL() : + cfgline(nullptr), + next(nullptr), + registered(false) +{ + *name = 0; +} + +ACL::ACL(const ACLFlag flgs[]) : cfgline(NULL), next(NULL), + flags(flgs), registered(false) { *name = 0; @@ -334,9 +343,7 @@ ACL::cacheMatchAcl(dlink_list * cache, ACLChecklist *checklist) link = link->next; } - auth_match = new acl_proxy_auth_match_cache(); - auth_match->matchrv = matchForCache (checklist); - auth_match->acl_data = this; + auth_match = new acl_proxy_auth_match_cache(matchForCache(checklist), this); dlinkAddTail(auth_match, &auth_match->link, cache); debugs(28, 4, "ACL::cacheMatchAcl: miss for '" << name << "'. Adding result " << auth_match->matchrv); return auth_match->matchrv; diff --git a/src/acl/Acl.h b/src/acl/Acl.h index bedb4d50d3..879118b1a9 100644 --- a/src/acl/Acl.h +++ b/src/acl/Acl.h @@ -80,9 +80,7 @@ public: static ACL *FindByName(const char *name); ACL(); - explicit ACL(const ACLFlag flgs[]) : cfgline(NULL), next(NULL), flags(flgs), registered(false) { - *name = 0; - } + explicit ACL(const ACLFlag flgs[]); virtual ~ACL(); /// sets user-specified ACL name and squid.conf context @@ -216,6 +214,11 @@ class acl_proxy_auth_match_cache MEMPROXY_CLASS(acl_proxy_auth_match_cache); public: + acl_proxy_auth_match_cache(int matchRv, void * aclData) : + matchrv(matchRv), + acl_data(aclData) + {} + dlink_node link; int matchrv; void *acl_data; diff --git a/src/acl/Asn.h b/src/acl/Asn.h index 11e8c73e03..30e54fb24b 100644 --- a/src/acl/Asn.h +++ b/src/acl/Asn.h @@ -29,6 +29,7 @@ class ACLASN : public ACLData MEMPROXY_CLASS(ACLASN); public: + ACLASN() : data(nullptr) {} virtual ~ACLASN(); virtual bool match(Ip::Address); diff --git a/src/acl/DomainData.h b/src/acl/DomainData.h index a3af868d1d..3510978f81 100644 --- a/src/acl/DomainData.h +++ b/src/acl/DomainData.h @@ -18,6 +18,7 @@ class ACLDomainData : public ACLData MEMPROXY_CLASS(ACLDomainData); public: + ACLDomainData() : domains(nullptr) {} virtual ~ACLDomainData(); virtual bool match(char const *); virtual SBufList dump() const; diff --git a/src/acl/UserData.cc b/src/acl/UserData.cc index 0e1feb024d..3497677bea 100644 --- a/src/acl/UserData.cc +++ b/src/acl/UserData.cc @@ -60,13 +60,8 @@ CaseInsensitveSBufCompare(const SBuf &lhs, const SBuf &rhs) return (lhs.caseCmp(rhs) < 0); } -static bool -CaseSensitveSBufCompare(const SBuf &lhs, const SBuf &rhs) -{ - return (lhs < rhs); -} - -ACLUserData::ACLUserData() : userDataNames(CaseSensitveSBufCompare) +ACLUserData::ACLUserData() : + userDataNames() { flags.case_insensitive = false; flags.required = false; diff --git a/src/auth/AclProxyAuth.cc b/src/auth/AclProxyAuth.cc index afe2d13d2b..a3d5886897 100644 --- a/src/auth/AclProxyAuth.cc +++ b/src/auth/AclProxyAuth.cc @@ -25,9 +25,14 @@ ACLProxyAuth::~ACLProxyAuth() delete data; } -ACLProxyAuth::ACLProxyAuth(ACLData *newData, char const *theType) : data(newData), type_(theType) {} +ACLProxyAuth::ACLProxyAuth(ACLData *newData, char const *theType) : + data(newData), + type_(theType) +{} -ACLProxyAuth::ACLProxyAuth(ACLProxyAuth const &old) : data(old.data->clone()), type_(old.type_) +ACLProxyAuth::ACLProxyAuth(ACLProxyAuth const &old) : + data(old.data->clone()), + type_(old.type_) {} ACLProxyAuth & diff --git a/src/auth/User.cc b/src/auth/User.cc index 4808099372..a826807a24 100644 --- a/src/auth/User.cc +++ b/src/auth/User.cc @@ -28,9 +28,8 @@ Auth::User::User(Auth::Config *aConfig, const char *aRequestRealm) : config(aConfig), ipcount(0), expiretime(0), - notes(), credentials_state(Auth::Unchecked), - username_(NULL), + username_(nullptr), requestRealm_(aRequestRealm) { proxy_match_cache.head = proxy_match_cache.tail = NULL; diff --git a/src/auth/negotiate/UserRequest.cc b/src/auth/negotiate/UserRequest.cc index 2b49dd7004..0028915788 100644 --- a/src/auth/negotiate/UserRequest.cc +++ b/src/auth/negotiate/UserRequest.cc @@ -24,14 +24,13 @@ #include "MemBuf.h" #include "SquidTime.h" -Auth::Negotiate::UserRequest::UserRequest() -{ - waiting=0; - client_blob=0; - server_blob=0; - authserver=NULL; - request=NULL; -} +Auth::Negotiate::UserRequest::UserRequest() : + authserver(nullptr), + server_blob(nullptr), + client_blob(nullptr), + waiting(0), + request(nullptr) +{} Auth::Negotiate::UserRequest::~UserRequest() { diff --git a/src/auth/ntlm/UserRequest.cc b/src/auth/ntlm/UserRequest.cc index 1f4024eebd..40fe619d54 100644 --- a/src/auth/ntlm/UserRequest.cc +++ b/src/auth/ntlm/UserRequest.cc @@ -23,14 +23,13 @@ #include "MemBuf.h" #include "SquidTime.h" -Auth::Ntlm::UserRequest::UserRequest() -{ - waiting=0; - client_blob=0; - server_blob=0; - authserver=NULL; - request=NULL; -} +Auth::Ntlm::UserRequest::UserRequest() : + authserver(nullptr), + server_blob(nullptr), + client_blob(nullptr), + waiting(0), + request(nullptr) +{} Auth::Ntlm::UserRequest::~UserRequest() { diff --git a/src/comm/Connection.cc b/src/comm/Connection.cc index 61410fb1ea..f5123e1622 100644 --- a/src/comm/Connection.cc +++ b/src/comm/Connection.cc @@ -24,14 +24,12 @@ Comm::IsConnOpen(const Comm::ConnectionPointer &conn) } Comm::Connection::Connection() : - local(), - remote(), peerType(HIER_NONE), fd(-1), tos(0), nfmark(0), flags(COMM_NONBLOCKING), - peer_(NULL), + peer_(nullptr), startTime_(squid_curtime) { *rfc931 = 0; // quick init the head. the rest does not matter. diff --git a/src/esi/Esi.cc b/src/esi/Esi.cc index d01b41eab6..106877d257 100644 --- a/src/esi/Esi.cc +++ b/src/esi/Esi.cc @@ -1484,11 +1484,10 @@ esiLiteral::~esiLiteral() cbdataReferenceDone (varState); } -esiLiteral::esiLiteral(ESISegment::Pointer aSegment) +esiLiteral::esiLiteral(ESISegment::Pointer aSegment) : + buffer(aSegment), + varState(nullptr) { - buffer = aSegment; - /* we've been handed a complete, processed string */ - varState = NULL; /* Nothing to do */ flags.donevars = 1; } @@ -1881,7 +1880,10 @@ esiChoose::~esiChoose() debugs(86, 5, "esiChoose::~esiChoose " << this); } -esiChoose::esiChoose(esiTreeParentPtr aParent) : elements (), chosenelement (-1),parent (aParent) +esiChoose::esiChoose(esiTreeParentPtr aParent) : + elements(), + chosenelement(-1), + parent(aParent) {} void diff --git a/src/external_acl.cc b/src/external_acl.cc index 08a4ff6e3f..70fbd6f247 100644 --- a/src/external_acl.cc +++ b/src/external_acl.cc @@ -73,7 +73,13 @@ class external_acl_format : public RefCountable public: typedef RefCount Pointer; - external_acl_format() : type(Format::LFT_NONE), header(NULL), member(NULL), separator(' '), header_id(Http::HdrType::BAD_HDR) {} + external_acl_format() : + type(Format::LFT_NONE), + header(nullptr), + member(nullptr), + separator(' '), + header_id(Http::HdrType::BAD_HDR) + {} ~external_acl_format() { xfree(header); xfree(member); diff --git a/src/fs/ufs/UFSStoreState.h b/src/fs/ufs/UFSStoreState.h index fcfbdf4648..c1fbe88ba4 100644 --- a/src/fs/ufs/UFSStoreState.h +++ b/src/fs/ufs/UFSStoreState.h @@ -48,7 +48,13 @@ protected: { MEMPROXY_CLASS(UFSStoreState::_queued_read); public: - _queued_read() : buf(NULL), size(0), offset(0), callback(NULL), callback_data(NULL) {} + _queued_read() : + buf(nullptr), + size(0), + offset(0), + callback(nullptr), + callback_data(nullptr) + {} char *buf; size_t size; @@ -61,7 +67,12 @@ protected: { MEMPROXY_CLASS(UFSStoreState::_queued_write); public: - _queued_write() : buf(NULL), size(0), offset(0), free_func(NULL) {} + _queued_write() : + buf(nullptr), + size(0), + offset(0), + free_func(nullptr) + {} char const *buf; size_t size; diff --git a/src/mime.cc b/src/mime.cc index ec8d77d11f..0179f14cef 100644 --- a/src/mime.cc +++ b/src/mime.cc @@ -116,9 +116,9 @@ mimeGetEntry(const char *fn, int skip_encodings) } MimeIcon::MimeIcon(const char *aName) : - icon_(aName) + url_(nullptr) { - url_ = xstrdup(internalLocalUri("/squid-internal-static/icons/", icon_)); + setName(aName); } MimeIcon::~MimeIcon() diff --git a/src/url.cc b/src/url.cc index 43a5a362fc..accd7e896f 100644 --- a/src/url.cc +++ b/src/url.cc @@ -916,3 +916,10 @@ URLHostName::extract(char const *aUrl) return Host; } +URL::URL(AnyP::UriScheme const &aScheme) : + scheme_(aScheme), + hostIsNumeric_(false), + port_(0) +{ + *host_=0; +}