From b52c6552c44fcb997b0db9f5e9f17b4674dd5359 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 30 Apr 2019 12:07:07 +0200 Subject: Add 'explicit' to most single argument constructors This prevents implicit conversions that we do not want, such as having a FileFd* being converted to a debListParser. Two cases are not yet handled because they require changes in code using them: 1. The classes in hashes.h 2. The URI class - this one is used quite a lot --- apt-inst/contrib/arfile.h | 2 +- apt-inst/deb/debfile.h | 4 ++-- apt-inst/filelist.h | 4 ++-- apt-pkg/contrib/configuration.h | 4 ++-- apt-pkg/contrib/fileutl.cc | 2 +- apt-pkg/contrib/mmap.h | 2 +- apt-pkg/contrib/progress.h | 4 ++-- apt-pkg/deb/debindexfile.h | 10 +++++----- apt-pkg/deb/deblistparser.h | 6 +++--- apt-pkg/deb/debmetaindex.cc | 2 +- apt-pkg/deb/debrecords.h | 2 +- apt-pkg/deb/dpkgpm.h | 2 +- apt-pkg/edsp/edspindexfile.h | 6 +++--- apt-pkg/edsp/edsplistparser.h | 6 +++--- apt-pkg/edsp/edspsystem.h | 2 +- apt-private/private-cacheset.h | 2 ++ apt-private/private-json-hooks.cc | 2 +- apt-private/private-sources.cc | 2 +- methods/mirror.cc | 2 +- 19 files changed, 34 insertions(+), 32 deletions(-) diff --git a/apt-inst/contrib/arfile.h b/apt-inst/contrib/arfile.h index 8124208c9..cf454941e 100644 --- a/apt-inst/contrib/arfile.h +++ b/apt-inst/contrib/arfile.h @@ -44,7 +44,7 @@ class ARArchive const Member *FindMember(const char *Name) const; inline Member *Members() { return List; } - ARArchive(FileFd &File); + explicit ARArchive(FileFd &File); ~ARArchive(); }; diff --git a/apt-inst/deb/debfile.h b/apt-inst/deb/debfile.h index 23a76bfdf..21c59a567 100644 --- a/apt-inst/deb/debfile.h +++ b/apt-inst/deb/debfile.h @@ -56,7 +56,7 @@ class debDebFile const ARArchive::Member *GotoMember(const char *Name); inline FileFd &GetFile() {return File;}; - debDebFile(FileFd &File); + explicit debDebFile(FileFd &File); }; class debDebFile::ControlExtract : public pkgDirStream @@ -87,7 +87,7 @@ class debDebFile::MemControlExtract : public pkgDirStream bool TakeControl(const void *Data,unsigned long long Size); MemControlExtract() : IsControl(false), Control(0), Length(0), Member("control") {}; - MemControlExtract(std::string Member) : IsControl(false), Control(0), Length(0), Member(Member) {}; + explicit MemControlExtract(std::string Member) : IsControl(false), Control(0), Length(0), Member(Member) {}; ~MemControlExtract() {delete [] Control;}; }; /*}}}*/ diff --git a/apt-inst/filelist.h b/apt-inst/filelist.h index 7fe43de63..c5f103d87 100644 --- a/apt-inst/filelist.h +++ b/apt-inst/filelist.h @@ -97,7 +97,7 @@ class pkgFLCache bool AddConfFile(const char *Name,const char *NameEnd, PkgIterator const &Owner,const unsigned char *Sum); - pkgFLCache(DynamicMMap &Map); + explicit pkgFLCache(DynamicMMap &Map); // ~pkgFLCache(); }; @@ -288,7 +288,7 @@ class pkgFLCache::NodeIterator Package *RealPackage() const; NodeIterator() : Nde(0), Type(NdeHash), Owner(0) {}; - NodeIterator(pkgFLCache &Owner) : Nde(Owner.NodeP), Type(NdeHash), Owner(&Owner) {} + explicit NodeIterator(pkgFLCache &Owner) : Nde(Owner.NodeP), Type(NdeHash), Owner(&Owner) {} NodeIterator(pkgFLCache &Owner,Node *Trg) : Nde(Trg), Type(NdeHash), Owner(&Owner) {} NodeIterator(pkgFLCache &Owner,Node *Trg,Package *) : Nde(Trg), Type(NdePkg), Owner(&Owner) {} }; diff --git a/apt-pkg/contrib/configuration.h b/apt-pkg/contrib/configuration.h index 2a3ae1aa4..b5dfe721f 100644 --- a/apt-pkg/contrib/configuration.h +++ b/apt-pkg/contrib/configuration.h @@ -119,7 +119,7 @@ class Configuration void Dump(std::ostream& str, char const * const root, char const * const format, bool const emptyValue); - Configuration(const Item *Root); + explicit Configuration(const Item *Root); Configuration(); ~Configuration(); @@ -130,7 +130,7 @@ class Configuration APT_HIDDEN void clearPatterns(); public: - MatchAgainstConfig(char const * Config); + explicit MatchAgainstConfig(char const * Config); virtual ~MatchAgainstConfig(); /** \brief Returns \b true for a string matching one of the patterns */ diff --git a/apt-pkg/contrib/fileutl.cc b/apt-pkg/contrib/fileutl.cc index 3b4a4a10c..8d6cb3146 100644 --- a/apt-pkg/contrib/fileutl.cc +++ b/apt-pkg/contrib/fileutl.cc @@ -1944,7 +1944,7 @@ class APT_HIDDEN LzmaFileFdPrivate: public FileFdPrivate { /*{{{*/ bool eof; bool compressing; - LZMAFILE(FileFd * const fd) : file(nullptr), filefd(fd), eof(false), compressing(false) { buffer[0] = '\0'; } + explicit LZMAFILE(FileFd * const fd) : file(nullptr), filefd(fd), eof(false), compressing(false) { buffer[0] = '\0'; } ~LZMAFILE() { if (compressing == true && filefd->Failed() == false) diff --git a/apt-pkg/contrib/mmap.h b/apt-pkg/contrib/mmap.h index 63d54d27c..3af1f47fb 100644 --- a/apt-pkg/contrib/mmap.h +++ b/apt-pkg/contrib/mmap.h @@ -74,7 +74,7 @@ class MMap bool Sync(unsigned long Start,unsigned long Stop); MMap(FileFd &F,unsigned long Flags); - MMap(unsigned long Flags); + explicit MMap(unsigned long Flags); virtual ~MMap(); }; diff --git a/apt-pkg/contrib/progress.h b/apt-pkg/contrib/progress.h index 4406a388b..903e6613e 100644 --- a/apt-pkg/contrib/progress.h +++ b/apt-pkg/contrib/progress.h @@ -80,9 +80,9 @@ class OpTextProgress : public OpProgress virtual void Done() APT_OVERRIDE; - OpTextProgress(bool NoUpdate = false) : NoUpdate(NoUpdate), + explicit OpTextProgress(bool NoUpdate = false) : NoUpdate(NoUpdate), NoDisplay(false), LastLen(0) {}; - OpTextProgress(Configuration &Config); + explicit OpTextProgress(Configuration &Config); virtual ~OpTextProgress() {Done();}; }; diff --git a/apt-pkg/deb/debindexfile.h b/apt-pkg/deb/debindexfile.h index 5c89f9c54..222fed229 100644 --- a/apt-pkg/deb/debindexfile.h +++ b/apt-pkg/deb/debindexfile.h @@ -44,7 +44,7 @@ public: virtual pkgCacheListParser * CreateListParser(FileFd &Pkg) APT_OVERRIDE; - debStatusIndex(std::string const &File); + explicit debStatusIndex(std::string const &File); virtual ~debStatusIndex(); }; @@ -83,7 +83,7 @@ public: // Interface for the Cache Generator virtual bool HasPackages() const APT_OVERRIDE; - debTranslationsIndex(IndexTarget const &Target); + explicit debTranslationsIndex(IndexTarget const &Target); virtual ~debTranslationsIndex(); }; @@ -141,7 +141,7 @@ public: // Interface for acquire - debDebPkgFileIndex(std::string const &DebFile); + explicit debDebPkgFileIndex(std::string const &DebFile); virtual ~debDebPkgFileIndex(); //FIXME: use proper virtual-handling on next ABI break @@ -162,7 +162,7 @@ public: virtual pkgSrcRecords::Parser *CreateSrcParser() const APT_OVERRIDE; virtual bool HasPackages() const APT_OVERRIDE {return false;}; - debDscFileIndex(std::string const &DscFile); + explicit debDscFileIndex(std::string const &DscFile); virtual ~debDscFileIndex(); }; @@ -191,7 +191,7 @@ public: // Abort if the file does not exist. virtual bool Exists() const APT_OVERRIDE {return true;}; - debStringPackageIndex(std::string const &content); + explicit debStringPackageIndex(std::string const &content); virtual ~debStringPackageIndex(); }; #endif diff --git a/apt-pkg/deb/deblistparser.h b/apt-pkg/deb/deblistparser.h index f02252d58..ad2b947fe 100644 --- a/apt-pkg/deb/deblistparser.h +++ b/apt-pkg/deb/deblistparser.h @@ -121,7 +121,7 @@ class APT_HIDDEN debListParser : public pkgCacheListParser APT_PUBLIC static const char *ConvertRelation(const char *I,unsigned int &Op); - debListParser(FileFd *File); + explicit debListParser(FileFd *File); virtual ~debListParser(); }; @@ -145,7 +145,7 @@ class APT_HIDDEN debTranslationsParser : public debListParser virtual APT::StringView Version() APT_OVERRIDE { return ""; } #endif - debTranslationsParser(FileFd *File) + explicit debTranslationsParser(FileFd *File) : debListParser(File) {}; }; @@ -153,7 +153,7 @@ class APT_HIDDEN debStatusListParser : public debListParser { public: virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver); - debStatusListParser(FileFd *File) + explicit debStatusListParser(FileFd *File) : debListParser(File) {}; }; #endif diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc index f2a6b97ad..13575e10b 100644 --- a/apt-pkg/deb/debmetaindex.cc +++ b/apt-pkg/deb/debmetaindex.cc @@ -109,7 +109,7 @@ class APT_HIDDEN debReleaseIndexPrivate /*{{{*/ std::vector SupportedComponents; std::map const ReleaseOptions; - debReleaseIndexPrivate(std::map const &Options) : CheckValidUntil(metaIndex::TRI_UNSET), ValidUntilMin(0), ValidUntilMax(0), CheckDate(metaIndex::TRI_UNSET), DateMaxFuture(0), NotBefore(0), ReleaseOptions(Options) {} + explicit debReleaseIndexPrivate(std::map const &Options) : CheckValidUntil(metaIndex::TRI_UNSET), ValidUntilMin(0), ValidUntilMax(0), CheckDate(metaIndex::TRI_UNSET), DateMaxFuture(0), NotBefore(0), ReleaseOptions(Options) {} }; /*}}}*/ // ReleaseIndex::MetaIndex* - display helpers /*{{{*/ diff --git a/apt-pkg/deb/debrecords.h b/apt-pkg/deb/debrecords.h index 7c3b9020c..ea3fc320a 100644 --- a/apt-pkg/deb/debrecords.h +++ b/apt-pkg/deb/debrecords.h @@ -85,7 +85,7 @@ class APT_HIDDEN debDebFileRecordParser : public debRecordParserBase public: virtual std::string FileName() APT_OVERRIDE; - debDebFileRecordParser(std::string FileName); + explicit debDebFileRecordParser(std::string FileName); virtual ~debDebFileRecordParser(); }; diff --git a/apt-pkg/deb/dpkgpm.h b/apt-pkg/deb/dpkgpm.h index 67c141766..3ba4770e8 100644 --- a/apt-pkg/deb/dpkgpm.h +++ b/apt-pkg/deb/dpkgpm.h @@ -131,7 +131,7 @@ class pkgDPkgPM : public pkgPackageManager public: - pkgDPkgPM(pkgDepCache *Cache); + explicit pkgDPkgPM(pkgDepCache *Cache); virtual ~pkgDPkgPM(); APT_HIDDEN static bool ExpandPendingCalls(std::vector &List, pkgDepCache &Cache); diff --git a/apt-pkg/edsp/edspindexfile.h b/apt-pkg/edsp/edspindexfile.h index 4ac0f9d72..8fa8fdd60 100644 --- a/apt-pkg/edsp/edspindexfile.h +++ b/apt-pkg/edsp/edspindexfile.h @@ -29,7 +29,7 @@ public: virtual bool Exists() const APT_OVERRIDE; virtual bool HasPackages() const APT_OVERRIDE; - edspLikeIndex(std::string const &File); + explicit edspLikeIndex(std::string const &File); virtual ~edspLikeIndex(); }; @@ -42,7 +42,7 @@ protected: public: virtual const Type *GetType() const APT_OVERRIDE APT_PURE; - edspIndex(std::string const &File); + explicit edspIndex(std::string const &File); virtual ~edspIndex(); }; @@ -55,7 +55,7 @@ protected: public: virtual const Type *GetType() const APT_OVERRIDE APT_PURE; - eippIndex(std::string const &File); + explicit eippIndex(std::string const &File); virtual ~eippIndex(); }; diff --git a/apt-pkg/edsp/edsplistparser.h b/apt-pkg/edsp/edsplistparser.h index 59c759f9d..8f56f8abf 100644 --- a/apt-pkg/edsp/edsplistparser.h +++ b/apt-pkg/edsp/edsplistparser.h @@ -35,7 +35,7 @@ class APT_HIDDEN edspLikeListParser : public debListParser virtual APT::StringView Description_md5() APT_OVERRIDE; virtual unsigned short VersionHash() APT_OVERRIDE; - edspLikeListParser(FileFd *File); + explicit edspLikeListParser(FileFd *File); virtual ~edspLikeListParser(); }; @@ -48,7 +48,7 @@ protected: virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE; public: - edspListParser(FileFd *File); + explicit edspListParser(FileFd *File); virtual ~edspListParser(); }; @@ -58,7 +58,7 @@ protected: virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver) APT_OVERRIDE; public: - eippListParser(FileFd *File); + explicit eippListParser(FileFd *File); virtual ~eippListParser(); }; #endif diff --git a/apt-pkg/edsp/edspsystem.h b/apt-pkg/edsp/edspsystem.h index 0855bb53f..8f5452dcb 100644 --- a/apt-pkg/edsp/edspsystem.h +++ b/apt-pkg/edsp/edspsystem.h @@ -37,7 +37,7 @@ public: virtual bool FindIndex(pkgCache::PkgFileIterator File, pkgIndexFile *&Found) const APT_OVERRIDE; - edspLikeSystem(char const * const Label); + explicit edspLikeSystem(char const * const Label); virtual ~edspLikeSystem(); }; diff --git a/apt-private/private-cacheset.h b/apt-private/private-cacheset.h index 3370bd03a..c52df36d7 100644 --- a/apt-private/private-cacheset.h +++ b/apt-private/private-cacheset.h @@ -18,6 +18,8 @@ class VerIteratorWithCaching const pkgCache::VerIterator iter; const pkgCache::DescFile * descFile; public: + + // cppcheck-suppress noExplicitConstructor VerIteratorWithCaching(const pkgCache::VerIterator& iter) : iter(iter), descFile(iter->DescriptionList != 0 diff --git a/apt-private/private-json-hooks.cc b/apt-private/private-json-hooks.cc index 65ff87924..3e0d8c93b 100644 --- a/apt-private/private-json-hooks.cc +++ b/apt-private/private-json-hooks.cc @@ -79,7 +79,7 @@ class APT_HIDDEN JsonWriter } public: - JsonWriter(std::ostream &os) : os(os) { old_locale = os.imbue(std::locale::classic()); } + explicit JsonWriter(std::ostream &os) : os(os) { old_locale = os.imbue(std::locale::classic()); } ~JsonWriter() { os.imbue(old_locale); } JsonWriter &beginArray() { diff --git a/apt-private/private-sources.cc b/apt-private/private-sources.cc index 713327f02..4cfb87938 100644 --- a/apt-private/private-sources.cc +++ b/apt-private/private-sources.cc @@ -31,7 +31,7 @@ class APT_HIDDEN ScopedGetLock { public: int fd; - ScopedGetLock(std::string const &filename) : fd(GetLock(filename)) {} + explicit ScopedGetLock(std::string const &filename) : fd(GetLock(filename)) {} ~ScopedGetLock() { close(fd); } }; bool EditSources(CommandLine &CmdL) diff --git a/methods/mirror.cc b/methods/mirror.cc index add9f0875..dcf4cbd13 100644 --- a/methods/mirror.cc +++ b/methods/mirror.cc @@ -97,7 +97,7 @@ class MirrorMethod : public aptMethod /*{{{*/ void DealWithPendingItems(std::vector const &baseuris, MirrorListInfo const &info, FetchItem *const Itm, std::function handler); public: - MirrorMethod(std::string &&pProg) : aptMethod(std::move(pProg), "2.0", SingleInstance | Pipeline | SendConfig | AuxRequests), genrng(clock()) + explicit MirrorMethod(std::string &&pProg) : aptMethod(std::move(pProg), "2.0", SingleInstance | Pipeline | SendConfig | AuxRequests), genrng(clock()) { SeccompFlags = aptMethod::BASE | aptMethod::DIRECTORY; } -- cgit v1.2.3 From 85e2c1b4ecbaf975d9d978f01227dc4987ee9d6c Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 30 Apr 2019 11:36:18 +0200 Subject: apt-pkg: hashes: Add 'explicit' to single argument constructors This avoids funny code where strings get implicitly converted to HashString or HashStringList. --- apt-pkg/contrib/hashes.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apt-pkg/contrib/hashes.h b/apt-pkg/contrib/hashes.h index 9ef2945d7..c636852ec 100644 --- a/apt-pkg/contrib/hashes.h +++ b/apt-pkg/contrib/hashes.h @@ -47,7 +47,7 @@ class HashString public: HashString(std::string Type, std::string Hash); - HashString(std::string StringedHashString); // init from str as "type:hash" + explicit HashString(std::string StringedHashString); // init from str as "type:hash" HashString(); // get hash type used @@ -163,11 +163,11 @@ class HashStringList HashStringList() {} // simplifying API-compatibility constructors - HashStringList(std::string const &hash) { + explicit HashStringList(std::string const &hash) { if (hash.empty() == false) list.push_back(HashString(hash)); } - HashStringList(char const * const hash) { + explicit HashStringList(char const * const hash) { if (hash != NULL && hash[0] != '\0') list.push_back(HashString(hash)); } @@ -210,9 +210,9 @@ class Hashes * which hashes to generate. */ Hashes(); /** @param Hashes bitflag composed of #SupportedHashes */ - Hashes(unsigned int const Hashes); + explicit Hashes(unsigned int const Hashes); /** @param Hashes is a list of hashes */ - Hashes(HashStringList const &Hashes); + explicit Hashes(HashStringList const &Hashes); virtual ~Hashes(); }; -- cgit v1.2.3 From af74a9e2d55d6a9532eb3fbb9b96c65b7ddc1e4d Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Tue, 30 Apr 2019 12:32:54 +0200 Subject: apt-pkg: URI: Add 'explicit' to single argument constructor This needs a fair amount of changes elsewhere in the code, hence this is separate from the previous commits. --- apt-pkg/acquire-worker.cc | 2 +- apt-pkg/acquire.cc | 2 +- apt-pkg/contrib/strutl.h | 4 ++-- methods/basehttp.cc | 14 +++++++------- methods/cdrom.cc | 2 +- methods/file.cc | 2 +- methods/ftp.cc | 6 +++--- methods/gpgv.cc | 2 +- methods/http.cc | 2 +- methods/rred.cc | 2 +- methods/rsh.cc | 2 +- methods/store.cc | 2 +- 12 files changed, 21 insertions(+), 21 deletions(-) diff --git a/apt-pkg/acquire-worker.cc b/apt-pkg/acquire-worker.cc index 8ebee5797..32fcde181 100644 --- a/apt-pkg/acquire-worker.cc +++ b/apt-pkg/acquire-worker.cc @@ -766,7 +766,7 @@ bool pkgAcquire::Worker::QueueItem(pkgAcquire::Queue::QItem *Item) Message += "URI: " + Item->URI; Message += "\nFilename: " + Item->Owner->DestFile; - URI URL = Item->URI; + URI URL(Item->URI); // FIXME: We should not hard code proxy protocols here. if (URL.Access == "http" || URL.Access == "https") { diff --git a/apt-pkg/acquire.cc b/apt-pkg/acquire.cc index 87bb13e39..8bb72d549 100644 --- a/apt-pkg/acquire.cc +++ b/apt-pkg/acquire.cc @@ -637,7 +637,7 @@ static void CheckDropPrivsMustBeDisabled(pkgAcquire const &Fetcher) // if its the source file (e.g. local sources) we might be lucky // by dropping the dropping only for some methods. - URI const source = (*I)->DescURI(); + URI const source((*I)->DescURI()); if (source.Access == "file" || source.Access == "copy") { std::string const conf = "Binary::" + source.Access + "::APT::Sandbox::User"; diff --git a/apt-pkg/contrib/strutl.h b/apt-pkg/contrib/strutl.h index c25ce8054..ae0aaedf9 100644 --- a/apt-pkg/contrib/strutl.h +++ b/apt-pkg/contrib/strutl.h @@ -218,8 +218,8 @@ class URI static std::string SiteOnly(const std::string &URI); static std::string ArchiveOnly(const std::string &URI); static std::string NoUserPassword(const std::string &URI); - - URI(std::string Path) {CopyFrom(Path);} + + explicit URI(std::string Path) { CopyFrom(Path); } URI() : Port(0) {} }; diff --git a/methods/basehttp.cc b/methods/basehttp.cc index f8dd7c020..04c194ad9 100644 --- a/methods/basehttp.cc +++ b/methods/basehttp.cc @@ -313,7 +313,7 @@ BaseHttpMethod::DealWithHeaders(FetchResult &Res, RequestState &Req) ; else if (Req.Location[0] == '/' && Queue->Uri.empty() == false) { - URI Uri = Queue->Uri; + URI Uri(Queue->Uri); if (Uri.Host.empty() == false) NextURI = URI::SiteOnly(Uri); else @@ -332,7 +332,7 @@ BaseHttpMethod::DealWithHeaders(FetchResult &Res, RequestState &Req) else { NextURI = DeQuoteString(Req.Location); - URI tmpURI = NextURI; + URI tmpURI(NextURI); if (tmpURI.Access.find('+') != std::string::npos) { _error->Error("Server tried to trick us into using a specific implementation: %s", tmpURI.Access.c_str()); @@ -340,7 +340,7 @@ BaseHttpMethod::DealWithHeaders(FetchResult &Res, RequestState &Req) return ERROR_WITH_CONTENT_PAGE; return ERROR_UNRECOVERABLE; } - URI Uri = Queue->Uri; + URI Uri(Queue->Uri); if (Binary.find('+') != std::string::npos) { auto base = Binary.substr(0, Binary.find('+')); @@ -493,7 +493,7 @@ bool BaseHttpMethod::Fetch(FetchItem *) do { // Make sure we stick with the same server - if (Server->Comp(QueueBack->Uri) == false) + if (Server->Comp(URI(QueueBack->Uri)) == false) break; bool const UsableHashes = QueueBack->ExpectedHashes.usable(); @@ -578,14 +578,14 @@ int BaseHttpMethod::Loop() continue; // Connect to the server - if (Server == 0 || Server->Comp(Queue->Uri) == false) + if (Server == 0 || Server->Comp(URI(Queue->Uri)) == false) { if (!Queue->Proxy().empty()) { - URI uri = Queue->Uri; + URI uri(Queue->Uri); _config->Set("Acquire::" + uri.Access + "::proxy::" + uri.Host, Queue->Proxy()); } - Server = CreateServerState(Queue->Uri); + Server = CreateServerState(URI(Queue->Uri)); setPostfixForMethodNames(::URI(Queue->Uri).Host.c_str()); AllowRedirect = ConfigFindB("AllowRedirect", true); PipelineDepth = ConfigFindI("Pipeline-Depth", 10); diff --git a/methods/cdrom.cc b/methods/cdrom.cc index 77270b09f..d024d18d1 100644 --- a/methods/cdrom.cc +++ b/methods/cdrom.cc @@ -175,7 +175,7 @@ bool CDROMMethod::Fetch(FetchItem *Itm) { FetchResult Res; - URI Get = Itm->Uri; + URI Get(Itm->Uri); string File = Get.Path; Debug = DebugEnabled(); diff --git a/methods/file.cc b/methods/file.cc index ff4301576..9f4e713b8 100644 --- a/methods/file.cc +++ b/methods/file.cc @@ -43,7 +43,7 @@ class FileMethod : public aptMethod /* */ bool FileMethod::Fetch(FetchItem *Itm) { - URI Get = Itm->Uri; + URI Get(Itm->Uri); std::string File = Get.Path; FetchResult Res; if (Get.Host.empty() == false) diff --git a/methods/ftp.cc b/methods/ftp.cc index 8213f1b50..98398341e 100644 --- a/methods/ftp.cc +++ b/methods/ftp.cc @@ -1037,7 +1037,7 @@ bool FtpMethod::Configuration(string Message) /* Fetch a single file, called by the base class.. */ bool FtpMethod::Fetch(FetchItem *Itm) { - URI Get = Itm->Uri; + URI Get(Itm->Uri); const char *File = Get.Path.c_str(); FetchResult Res; Res.Filename = Itm->DestFile; @@ -1166,8 +1166,8 @@ int main(int, const char *argv[]) proxy urls */ if (getenv("ftp_proxy") != 0) { - URI Proxy = string(getenv("ftp_proxy")); - + URI Proxy(string(getenv("ftp_proxy"))); + // Run the HTTP method if (Proxy.Access == "http") { diff --git a/methods/gpgv.cc b/methods/gpgv.cc index f66e3356f..04a4f6a83 100644 --- a/methods/gpgv.cc +++ b/methods/gpgv.cc @@ -419,7 +419,7 @@ string GPGVMethod::VerifyGetSigners(const char *file, const char *outfile, bool GPGVMethod::URIAcquire(std::string const &Message, FetchItem *Itm) { - URI const Get = Itm->Uri; + URI const Get(Itm->Uri); string const Path = Get.Host + Get.Path; // To account for relative paths SignersStorage Signers; diff --git a/methods/http.cc b/methods/http.cc index d75e9fe84..d3e16bba3 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -892,7 +892,7 @@ ResultState HttpServerState::Go(bool ToFile, RequestState &Req) /* This places the http request in the outbound buffer */ void HttpMethod::SendReq(FetchItem *Itm) { - URI Uri = Itm->Uri; + URI Uri(Itm->Uri); { auto const plus = Binary.find('+'); if (plus != std::string::npos) diff --git a/methods/rred.cc b/methods/rred.cc index d4cf1050d..949fa4773 100644 --- a/methods/rred.cc +++ b/methods/rred.cc @@ -574,7 +574,7 @@ class RredMethod : public aptMethod { protected: virtual bool URIAcquire(std::string const &Message, FetchItem *Itm) APT_OVERRIDE { Debug = DebugEnabled(); - URI Get = Itm->Uri; + URI Get(Itm->Uri); std::string Path = Get.Host + Get.Path; // rred:/path - no host FetchResult Res; diff --git a/methods/rsh.cc b/methods/rsh.cc index 0da18690b..5c08959c6 100644 --- a/methods/rsh.cc +++ b/methods/rsh.cc @@ -433,7 +433,7 @@ void RSHMethod::SigTerm(int) /* */ bool RSHMethod::Fetch(FetchItem *Itm) { - URI Get = Itm->Uri; + URI Get(Itm->Uri); const char *File = Get.Path.c_str(); FetchResult Res; Res.Filename = Itm->DestFile; diff --git a/methods/store.cc b/methods/store.cc index 7b9e202d9..1b0f07947 100644 --- a/methods/store.cc +++ b/methods/store.cc @@ -63,7 +63,7 @@ static bool OpenFileWithCompressorByName(FileFd &fileFd, std::string const &File /*}}}*/ bool StoreMethod::Fetch(FetchItem *Itm) /*{{{*/ { - URI Get = Itm->Uri; + URI Get(Itm->Uri); std::string Path = Get.Host + Get.Path; // To account for relative paths FetchResult Res; -- cgit v1.2.3