follow method attribute suggestions by gcc
authorDavid Kalnischkies <david@kalnischkies.de>
Wed, 5 Mar 2014 23:33:10 +0000 (00:33 +0100)
committerDavid Kalnischkies <david@kalnischkies.de>
Thu, 13 Mar 2014 12:58:45 +0000 (13:58 +0100)
Git-Dch: Ignore
Reported-By: gcc -Wsuggest-attribute={pure,const,noreturn}
50 files changed:
apt-inst/extract.cc
apt-inst/filelist.cc
apt-pkg/acquire-item.cc
apt-pkg/acquire.cc
apt-pkg/acquire.h
apt-pkg/algorithms.h
apt-pkg/cacheiterators.h
apt-pkg/cacheset.cc
apt-pkg/contrib/cmndline.h
apt-pkg/contrib/crc-16.h
apt-pkg/contrib/error.h
apt-pkg/contrib/fileutl.h
apt-pkg/contrib/gpgv.h
apt-pkg/contrib/hashes.cc
apt-pkg/contrib/hashes.h
apt-pkg/contrib/strutl.h
apt-pkg/deb/debindexfile.cc
apt-pkg/deb/debindexfile.h
apt-pkg/deb/debsystem.cc
apt-pkg/deb/debversion.h
apt-pkg/depcache.cc
apt-pkg/depcache.h
apt-pkg/edsp/edspindexfile.h
apt-pkg/edsp/edsplistparser.cc
apt-pkg/edsp/edspsystem.h
apt-pkg/indexcopy.cc
apt-pkg/indexfile.h
apt-pkg/indexrecords.cc
apt-pkg/install-progress.cc
apt-pkg/orderlist.h
apt-pkg/packagemanager.h
apt-pkg/pkgcache.h
apt-pkg/pkgcachegen.h
apt-pkg/pkgsystem.cc
apt-pkg/policy.cc
apt-pkg/sourcelist.h
apt-pkg/srcrecords.h
apt-pkg/tagfile.cc
apt-pkg/vendor.cc
apt-pkg/version.h
apt-pkg/versionmatch.h
apt-private/private-cachefile.h
apt-private/private-cmndline.cc
cmdline/apt-cache.cc
cmdline/apt-cdrom.cc
methods/ftp.h
methods/http.cc
methods/rsh.h
methods/server.h
test/libapt/assert.h

index b2956d91dd6b0a8f67fe3afdb96c12c45f23e9e2..b60784450654e8b65b0cd5eab52e72e721bc9410 100644 (file)
@@ -260,7 +260,7 @@ bool pkgExtract::DoItem(Item &Itm, int &/*Fd*/)
 // Extract::Finished - Sequence finished, erase the temp files         /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-bool pkgExtract::Finished()
+APT_CONST bool pkgExtract::Finished()
 {
    return true;
 }
index b4a4f3d9d40d711dc15793aef3e7a7886c1efe11..4dbc4a2d70d4db1333a6c69392f3ef3874e5d075 100644 (file)
@@ -85,7 +85,7 @@ pkgFLCache::Header::Header()
 // FLCache::Header::CheckSizes - Check if the two headers have same *sz        /*{{{*/
 // ---------------------------------------------------------------------
 /* Compare to make sure we are matching versions */
-bool pkgFLCache::Header::CheckSizes(Header &Against) const
+APT_PURE bool pkgFLCache::Header::CheckSizes(Header &Against) const
 {
    if (HeaderSz == Against.HeaderSz &&
        NodeSz == Against.NodeSz &&
@@ -353,7 +353,7 @@ pkgFLCache::NodeIterator pkgFLCache::GetNode(const char *Name,
 // ---------------------------------------------------------------------
 /* This is one of two hashing functions. The other is inlined into the
    GetNode routine. */
-pkgFLCache::Node *pkgFLCache::HashNode(NodeIterator const &Nde)
+APT_PURE pkgFLCache::Node *pkgFLCache::HashNode(NodeIterator const &Nde)
 {
    // Hash the node
    unsigned long HashPos = 0;
@@ -570,7 +570,7 @@ bool pkgFLCache::AddConfFile(const char *Name,const char *NameEnd,
 // ---------------------------------------------------------------------
 /* Since the package pointer is indirected in all sorts of interesting ways
    this is used to get a pointer to the owning package */
-pkgFLCache::Package *pkgFLCache::NodeIterator::RealPackage() const
+APT_PURE pkgFLCache::Package *pkgFLCache::NodeIterator::RealPackage() const
 {
    if (Nde->Pointer == 0)
       return 0;
index 44a1f32df81a814cb07d2c82c176d01fbfea605c..ad38e3116385cf1ad6f2bfbf78ab8c4c5546202d 100644 (file)
@@ -2162,7 +2162,7 @@ void pkgAcqArchive::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
                                                                        /*}}}*/
 // AcqArchive::IsTrusted - Determine whether this archive comes from a trusted source /*{{{*/
 // ---------------------------------------------------------------------
-bool pkgAcqArchive::IsTrusted()
+APT_PURE bool pkgAcqArchive::IsTrusted()
 {
    return Trusted;
 }
index a654d821957721477b50a0eea163e65804b8a11a..a187a00ae9752fc900a2797302cf369780465816 100644 (file)
@@ -526,7 +526,7 @@ bool pkgAcquire::Clean(string Dir)
 // Acquire::TotalNeeded - Number of bytes to fetch                     /*{{{*/
 // ---------------------------------------------------------------------
 /* This is the total number of bytes needed */
-unsigned long long pkgAcquire::TotalNeeded()
+APT_PURE unsigned long long pkgAcquire::TotalNeeded()
 {
    unsigned long long Total = 0;
    for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); ++I)
@@ -537,7 +537,7 @@ unsigned long long pkgAcquire::TotalNeeded()
 // Acquire::FetchNeeded - Number of bytes needed to get                        /*{{{*/
 // ---------------------------------------------------------------------
 /* This is the number of bytes that is not local */
-unsigned long long pkgAcquire::FetchNeeded()
+APT_PURE unsigned long long pkgAcquire::FetchNeeded()
 {
    unsigned long long Total = 0;
    for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); ++I)
@@ -549,7 +549,7 @@ unsigned long long pkgAcquire::FetchNeeded()
 // Acquire::PartialPresent - Number of partial bytes we already have   /*{{{*/
 // ---------------------------------------------------------------------
 /* This is the number of bytes that is not local */
-unsigned long long pkgAcquire::PartialPresent()
+APT_PURE unsigned long long pkgAcquire::PartialPresent()
 {
   unsigned long long Total = 0;
    for (ItemCIterator I = ItemsBegin(); I != ItemsEnd(); ++I)
index 1aac0ba11ed687b044364339fbe9c63266559818..ef16d8556538bc2ab88bd88b71b0ec802db16d3c 100644 (file)
@@ -298,7 +298,7 @@ class pkgAcquire
     *  \return the worker immediately following I, or \b NULL if none
     *  exists.
     */
-   Worker *WorkerStep(Worker *I);
+   Worker *WorkerStep(Worker *I) APT_PURE;
 
    /** \brief Get the head of the list of items. */
    inline ItemIterator ItemsBegin() {return Items.begin();};
@@ -481,7 +481,7 @@ class pkgAcquire::Queue
     *  \return the first item in the queue whose URI is #URI and that
     *  is being downloaded by #Owner.
     */
-   QItem *FindItem(std::string URI,pkgAcquire::Worker *Owner);
+   QItem *FindItem(std::string URI,pkgAcquire::Worker *Owner) APT_PURE;
 
    /** Presumably this should start downloading an item?
     *
index 82b6426c6e8a27a0ddd9a71dbd4cc175b9ac6b5f..f35bd9a133840b02a7835fc164a317b08d1166ec 100644 (file)
@@ -114,7 +114,7 @@ class pkgProblemResolver                                            /*{{{*/
    
    // Sort stuff
    static pkgProblemResolver *This;
-   static int ScoreSort(const void *a,const void *b);
+   static int ScoreSort(const void *a,const void *b) APT_PURE;
 
    struct PackageKill
    {
index d9c8ed1e4712cf6b4f285078931aa72352d23884..2fdf8404ddea9667fb78acedce6370b399c38f23 100644 (file)
@@ -30,6 +30,7 @@
 #ifndef PKGLIB_CACHEITERATORS_H
 #define PKGLIB_CACHEITERATORS_H
 #include<apt-pkg/pkgcache.h>
+#include<apt-pkg/macros.h>
 
 #include<iterator>
 #include <iosfwd>
@@ -163,15 +164,15 @@ class pkgCache::PkgIterator: public Iterator<Package, PkgIterator> {
        inline bool Purge() const {return S->CurrentState == pkgCache::State::Purge ||
                (S->CurrentVer == 0 && S->CurrentState == pkgCache::State::NotInstalled);}
        inline const char *Arch() const {return S->Arch == 0?0:Owner->StrP + S->Arch;}
-       inline GrpIterator Group() const { return GrpIterator(*Owner, Owner->GrpP + S->Group);}
+       inline APT_PURE GrpIterator Group() const { return GrpIterator(*Owner, Owner->GrpP + S->Group);}
 
-       inline VerIterator VersionList() const;
-       inline VerIterator CurrentVer() const;
-       inline DepIterator RevDependsList() const;
-       inline PrvIterator ProvidesList() const;
-       OkState State() const;
-       const char *CandVersion() const;
-       const char *CurVersion() const;
+       inline VerIterator VersionList() const APT_PURE;
+       inline VerIterator CurrentVer() const APT_PURE;
+       inline DepIterator RevDependsList() const APT_PURE;
+       inline PrvIterator ProvidesList() const APT_PURE;
+       OkState State() const APT_PURE;
+       const char *CandVersion() const APT_PURE;
+       const char *CurVersion() const APT_PURE;
 
        //Nice printable representation
        friend std::ostream& operator <<(std::ostream& out, PkgIterator i);
@@ -224,7 +225,7 @@ class pkgCache::VerIterator : public Iterator<Version, VerIterator> {
        inline VerFileIterator FileList() const;
        bool Downloadable() const;
        inline const char *PriorityType() const {return Owner->Priority(S->Priority);}
-       const char *MultiArchType() const;
+       const char *MultiArchType() const APT_PURE;
        std::string RelStr() const;
 
        bool Automatic() const;
@@ -286,13 +287,13 @@ class pkgCache::DepIterator : public Iterator<Dependency, DepIterator> {
        inline VerIterator ParentVer() const {return VerIterator(*Owner,Owner->VerP + S->ParentVer);}
        inline PkgIterator ParentPkg() const {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->ParentVer].ParentPkg);}
        inline bool Reverse() const {return Type == DepRev;}
-       bool IsCritical() const;
-       bool IsNegative() const;
-       bool IsIgnorable(PrvIterator const &Prv) const;
-       bool IsIgnorable(PkgIterator const &Pkg) const;
-       bool IsMultiArchImplicit() const;
-       bool IsSatisfied(VerIterator const &Ver) const;
-       bool IsSatisfied(PrvIterator const &Prv) const;
+       bool IsCritical() const APT_PURE;
+       bool IsNegative() const APT_PURE;
+       bool IsIgnorable(PrvIterator const &Prv) const APT_PURE;
+       bool IsIgnorable(PkgIterator const &Pkg) const APT_PURE;
+       bool IsMultiArchImplicit() const APT_PURE;
+       bool IsSatisfied(VerIterator const &Ver) const APT_PURE;
+       bool IsSatisfied(PrvIterator const &Prv) const APT_PURE;
        void GlobOr(DepIterator &Start,DepIterator &End);
        Version **AllTargets() const;
        bool SmartTargetPkg(PkgIterator &Result) const;
@@ -337,7 +338,7 @@ class pkgCache::PrvIterator : public Iterator<Provides, PrvIterator> {
        inline VerIterator OwnerVer() const {return VerIterator(*Owner,Owner->VerP + S->Version);}
        inline PkgIterator OwnerPkg() const {return PkgIterator(*Owner,Owner->PkgP + Owner->VerP[S->Version].ParentPkg);}
 
-       bool IsMultiArchImplicit() const;
+       bool IsMultiArchImplicit() const APT_PURE;
 
        inline PrvIterator() : Iterator<Provides, PrvIterator>(), Type(PrvVer) {}
        inline PrvIterator(pkgCache &Owner, Provides *Trg, Version*) :
index a58631d5b151c5da3a58588a7dfd2a798a51a7ad..d453a2bfb0f26600060284c587ac0022e7d91890 100644 (file)
@@ -614,7 +614,7 @@ void CacheSetHelper::canNotFindFnmatch(PackageContainerInterface * const pci, pk
 }
 #endif                                                                 /*}}}*/
 // canNotFindPackage - handle the case no package is found from a string/*{{{*/
-void CacheSetHelper::canNotFindPackage(PackageContainerInterface * const /*pci*/, pkgCacheFile &/*Cache*/, std::string const &/*str*/) {
+APT_CONST void CacheSetHelper::canNotFindPackage(PackageContainerInterface * const /*pci*/, pkgCacheFile &/*Cache*/, std::string const &/*str*/) {
 }
                                                                        /*}}}*/
 // canNotFindAllVer                                                    /*{{{*/
@@ -663,24 +663,24 @@ pkgCache::VerIterator CacheSetHelper::canNotFindInstalledVer(pkgCacheFile &Cache
 }
                                                                        /*}}}*/
 // showTaskSelection                                                   /*{{{*/
-void CacheSetHelper::showTaskSelection(pkgCache::PkgIterator const &/*pkg*/,
+APT_CONST void CacheSetHelper::showTaskSelection(pkgCache::PkgIterator const &/*pkg*/,
                                       std::string const &/*pattern*/) {
 }
                                                                        /*}}}*/
 // showRegExSelection                                                  /*{{{*/
-void CacheSetHelper::showRegExSelection(pkgCache::PkgIterator const &/*pkg*/,
+APT_CONST void CacheSetHelper::showRegExSelection(pkgCache::PkgIterator const &/*pkg*/,
                                        std::string const &/*pattern*/) {
 }
                                                                        /*}}}*/
 #if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13)
 // showFnmatchSelection                                                        /*{{{*/
-void CacheSetHelper::showFnmatchSelection(pkgCache::PkgIterator const &pkg,
+APT_CONST void CacheSetHelper::showFnmatchSelection(pkgCache::PkgIterator const &pkg,
                                           std::string const &pattern) {
 }
                                                                        /*}}}*/
 #endif
 // showSelectedVersion                                                 /*{{{*/
-void CacheSetHelper::showSelectedVersion(pkgCache::PkgIterator const &/*Pkg*/,
+APT_CONST void CacheSetHelper::showSelectedVersion(pkgCache::PkgIterator const &/*Pkg*/,
                                         pkgCache::VerIterator const /*Ver*/,
                                         std::string const &/*ver*/,
                                         bool const /*verIsRel*/) {
index 1802766333a258703d801735c149bd75fb384e0d..143df58b23d1ebdc331631c3f9eb8913e213edb9 100644 (file)
@@ -44,6 +44,8 @@
 #ifndef PKGLIB_CMNDLINE_H
 #define PKGLIB_CMNDLINE_H
 
+#include <apt-pkg/macros.h>
+
 #ifndef APT_8_CLEANER_HEADERS
 #include <apt-pkg/configuration.h>
 #endif
@@ -80,14 +82,14 @@ class CommandLine
    
    bool Parse(int argc,const char **argv);
    void ShowHelp();
-   unsigned int FileSize() const;
+   unsigned int FileSize() const APT_PURE;
    bool DispatchArg(Dispatch *List,bool NoMatch = true);
       
    static char const * GetCommand(Dispatch const * const Map,
-        unsigned int const argc, char const * const * const argv);
+        unsigned int const argc, char const * const * const argv) APT_PURE;
 
    static CommandLine::Args MakeArgs(char ShortOpt, char const *LongOpt,
-        char const *ConfName, unsigned long Flags);
+        char const *ConfName, unsigned long Flags) APT_CONST;
 
    CommandLine(Args *AList,Configuration *Conf);
    ~CommandLine();
index 702de40b21135a0596b6802465d6660704f15a30..08acdafb79c837bef5c4b2be24e6cd64402fb21c 100644 (file)
 #ifndef APTPKG_CRC16_H
 #define APTPKG_CRC16_H
 
+#include <apt-pkg/macros.h>
+
 #define INIT_FCS  0xffff
 unsigned short AddCRC16(unsigned short fcs, void const *buf,
-                       unsigned long long len);
+                       unsigned long long len) APT_PURE;
 
 #endif
index 919b1e6d49d9e38181d5e68cd984e8561971be73..ed8c1915324d00a224e390c6d3d613a457d855ea 100644 (file)
@@ -141,7 +141,7 @@ public:                                                                     /*{{{*/
         */
        bool InsertErrno(MsgType type, const char* Function,
                         const char* Description, va_list &args,
-                        int const errsv, size_t &msgSize);
+                        int const errsv, size_t &msgSize) APT_COLD;
 
        /** \brief add an fatal error message to the list
         *
@@ -225,7 +225,7 @@ public:                                                                     /*{{{*/
         *
         *  \return \b true if an error is included in the list, \b false otherwise
         */
-       inline bool PendingError() const {return PendingFlag;};
+       inline bool PendingError() const APT_PURE {return PendingFlag;};
 
        /** \brief is the list empty?
         *
@@ -237,7 +237,7 @@ public:                                                                     /*{{{*/
         *
         *  \return \b true if an the list is empty, \b false otherwise
         */
-       bool empty(MsgType const &threshold = WARNING) const;
+       bool empty(MsgType const &threshold = WARNING) const APT_PURE;
 
        /** \brief returns and removes the first (or last) message in the list
         *
@@ -303,7 +303,7 @@ public:                                                                     /*{{{*/
        void MergeWithStack();
 
        /** \brief return the deep of the stack */
-       size_t StackCount() const {
+       size_t StackCount() const APT_PURE {
                return Stacks.size();
        }
 
index 6fdea1294fec2f2e0e16c20f0e8be4e23d9fa034..35f3ab0f4846cbccb4784d1e4846b0f00d21007a 100644 (file)
@@ -119,7 +119,7 @@ class FileFd
    // Simple manipulators
    inline int Fd() {return iFd;};
    inline void Fd(int fd) { OpenDescriptor(fd, ReadWrite);};
-   gzFile gzFd() APT_DEPRECATED;
+   gzFile gzFd() APT_DEPRECATED APT_PURE;
 
    inline bool IsOpen() {return iFd >= 0;};
    inline bool Failed() {return (Flags & Fail) == Fail;};
index ab3c68de5a0707f93cc8cbec74184fd407028b1a..f018893fdbac998da44eddc222a0d27b530d3bdc 100644 (file)
@@ -41,7 +41,7 @@ class FileFd;
  */
 void ExecGPGV(std::string const &File, std::string const &FileSig,
       int const &statusfd, int fd[2]) APT_NORETURN;
-inline void ExecGPGV(std::string const &File, std::string const &FileSig,
+inline APT_NORETURN void ExecGPGV(std::string const &File, std::string const &FileSig,
       int const &statusfd = -1) {
    int fd[2];
    ExecGPGV(File, FileSig, statusfd, fd);
index 5efafa511501af2fd34416eb1dbb1eeeb848980e..1fce0d75fdd8878d91e251805a94e594e8c7348d 100644 (file)
@@ -116,7 +116,7 @@ const char** HashString::SupportedHashes()
    return _SupportedHashes;
 }
 
-bool HashString::empty() const
+APT_PURE bool HashString::empty() const
 {
    return (Type.empty() || Hash.empty());
 }
index 979ee1eb88a11aa533350db20cbf64e6a4f72c3e..5cd1af03bb562c9e69ee648b3bb56396bbc77650 100644 (file)
@@ -66,7 +66,7 @@ class HashString
    bool empty() const;
 
    // return the list of hashes we support
-   static const char** SupportedHashes();
+   static APT_CONST const char** SupportedHashes();
 };
 
 class Hashes
index 79479957dd363e797a68b136c8d386ea93dbb697..185cdc3fc5c3aae13a690d4be79aab053af0860c 100644 (file)
@@ -107,43 +107,43 @@ int tolower_ascii(int const c) APT_CONST APT_HOT;
 std::string StripEpoch(const std::string &VerStr);
 
 #define APT_MKSTRCMP(name,func) \
-inline int name(const char *A,const char *B) {return func(A,A+strlen(A),B,B+strlen(B));} \
-inline int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));} \
-inline int name(const std::string& A,const char *B) {return func(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));} \
-inline int name(const std::string& A,const std::string& B) {return func(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());} \
-inline int name(const std::string& A,const char *B,const char *BEnd) {return func(A.c_str(),A.c_str()+A.length(),B,BEnd);}
+inline APT_PURE int name(const char *A,const char *B) {return func(A,A+strlen(A),B,B+strlen(B));} \
+inline APT_PURE int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));} \
+inline APT_PURE int name(const std::string& A,const char *B) {return func(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));} \
+inline APT_PURE int name(const std::string& A,const std::string& B) {return func(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());} \
+inline APT_PURE int name(const std::string& A,const char *B,const char *BEnd) {return func(A.c_str(),A.c_str()+A.length(),B,BEnd);}
 
 #define APT_MKSTRCMP2(name,func) \
-inline int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));} \
-inline int name(const std::string& A,const char *B) {return func(A.begin(),A.end(),B,B+strlen(B));} \
-inline int name(const std::string& A,const std::string& B) {return func(A.begin(),A.end(),B.begin(),B.end());} \
-inline int name(const std::string& A,const char *B,const char *BEnd) {return func(A.begin(),A.end(),B,BEnd);}
+inline APT_PURE int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));} \
+inline APT_PURE int name(const std::string& A,const char *B) {return func(A.begin(),A.end(),B,B+strlen(B));} \
+inline APT_PURE int name(const std::string& A,const std::string& B) {return func(A.begin(),A.end(),B.begin(),B.end());} \
+inline APT_PURE int name(const std::string& A,const char *B,const char *BEnd) {return func(A.begin(),A.end(),B,BEnd);}
 
-int stringcmp(const char *A,const char *AEnd,const char *B,const char *BEnd);
-int stringcasecmp(const char *A,const char *AEnd,const char *B,const char *BEnd);
+int APT_PURE stringcmp(const char *A,const char *AEnd,const char *B,const char *BEnd);
+int APT_PURE stringcasecmp(const char *A,const char *AEnd,const char *B,const char *BEnd);
 
 /* We assume that GCC 3 indicates that libstdc++3 is in use too. In that
    case the definition of string::const_iterator is not the same as
    const char * and we need these extra functions */
 #if __GNUC__ >= 3
-int stringcmp(std::string::const_iterator A,std::string::const_iterator AEnd,
+int APT_PURE stringcmp(std::string::const_iterator A,std::string::const_iterator AEnd,
              const char *B,const char *BEnd);
-int stringcmp(std::string::const_iterator A,std::string::const_iterator AEnd,
+int APT_PURE stringcmp(std::string::const_iterator A,std::string::const_iterator AEnd,
              std::string::const_iterator B,std::string::const_iterator BEnd);
-int stringcasecmp(std::string::const_iterator A,std::string::const_iterator AEnd,
+int APT_PURE stringcasecmp(std::string::const_iterator A,std::string::const_iterator AEnd,
                  const char *B,const char *BEnd);
-int stringcasecmp(std::string::const_iterator A,std::string::const_iterator AEnd,
+int APT_PURE stringcasecmp(std::string::const_iterator A,std::string::const_iterator AEnd,
                   std::string::const_iterator B,std::string::const_iterator BEnd);
 
-inline int stringcmp(std::string::const_iterator A,std::string::const_iterator Aend,const char *B) {return stringcmp(A,Aend,B,B+strlen(B));}
-inline int stringcasecmp(std::string::const_iterator A,std::string::const_iterator Aend,const char *B) {return stringcasecmp(A,Aend,B,B+strlen(B));}
+inline APT_PURE int stringcmp(std::string::const_iterator A,std::string::const_iterator Aend,const char *B) {return stringcmp(A,Aend,B,B+strlen(B));}
+inline APT_PURE int stringcasecmp(std::string::const_iterator A,std::string::const_iterator Aend,const char *B) {return stringcasecmp(A,Aend,B,B+strlen(B));}
 #endif
 
 APT_MKSTRCMP2(stringcmp,stringcmp)
 APT_MKSTRCMP2(stringcasecmp,stringcasecmp)
 
 // Return the length of a NULL-terminated string array
-size_t strv_length(const char **str_array);
+size_t APT_PURE strv_length(const char **str_array);
 
 
 inline const char *DeNull(const char *s) {return (s == 0?"(null)":s);}
index 1b35d0d52d0ca579cd3cb1a52df3caa1a8f9c201..eee758b7a124d388ac1d1fe1c9cb84c38d6fe806 100644 (file)
@@ -660,7 +660,7 @@ pkgCache::PkgFileIterator debStatusIndex::FindInCache(pkgCache &Cache) const
 // StatusIndex::Exists - Check if the index is available               /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-bool debStatusIndex::Exists() const
+APT_CONST bool debStatusIndex::Exists() const
 {
    // Abort if the file does not exist.
    return true;
index 3bcb3b64f6c351c31a9b3ee5479d1e61f1395aad..017c69a0a907c67c36ad35f66128945dd1beef5a 100644 (file)
@@ -38,7 +38,7 @@ class debStatusIndex : public pkgIndexFile
 
    public:
 
-   virtual const Type *GetType() const;
+   virtual const Type *GetType() const APT_CONST;
    
    // Interface for acquire
    virtual std::string Describe(bool /*Short*/) const {return File;};
@@ -71,7 +71,7 @@ class debPackagesIndex : public pkgIndexFile
    
    public:
    
-   virtual const Type *GetType() const;
+   virtual const Type *GetType() const APT_CONST;
 
    // Stuff for accessing files on remote items
    virtual std::string ArchiveInfo(pkgCache::VerIterator Ver) const;
@@ -110,7 +110,7 @@ class debTranslationsIndex : public pkgIndexFile
 
    public:
    
-   virtual const Type *GetType() const;
+   virtual const Type *GetType() const APT_CONST;
 
    // Interface for acquire
    virtual std::string Describe(bool Short) const;   
@@ -142,7 +142,7 @@ class debSourcesIndex : public pkgIndexFile
    
    public:
 
-   virtual const Type *GetType() const;
+   virtual const Type *GetType() const APT_CONST;
 
    // Stuff for accessing files on remote items
    virtual std::string SourceInfo(pkgSrcRecords::Parser const &Record,
index db557e5377f01693492a80cfc21b8f6a55918b22..142f3a6e65dacbdc3fedc322bd30131f4bf014ad 100644 (file)
@@ -202,7 +202,7 @@ bool debSystem::Initialize(Configuration &Cnf)
 // ---------------------------------------------------------------------
 /* The standard name for a deb is 'deb'.. There are no separate versions
    of .deb to worry about.. */
-bool debSystem::ArchiveSupported(const char *Type)
+APT_PURE bool debSystem::ArchiveSupported(const char *Type)
 {
    if (strcmp(Type,"deb") == 0)
       return true;
index 981ea9ad284e3da2b42561a79b789176d62d8b21..434ff4a2e4c06779c30247ff3b6760b5db625367 100644 (file)
 class debVersioningSystem : public pkgVersioningSystem
 {
    public:
-   
+
    static int CmpFragment(const char *A, const char *AEnd, const char *B,
-                         const char *BEnd);
-   
+                         const char *BEnd) APT_PURE;
+
    // Compare versions..
    virtual int DoCmpVersion(const char *A,const char *Aend,
-                         const char *B,const char *Bend);
-   virtual bool CheckDep(const char *PkgVer,int Op,const char *DepVer);
-   virtual int DoCmpReleaseVer(const char *A,const char *Aend,
+                         const char *B,const char *Bend) APT_PURE;
+   virtual bool CheckDep(const char *PkgVer,int Op,const char *DepVer) APT_PURE;
+   virtual APT_PURE int DoCmpReleaseVer(const char *A,const char *Aend,
                             const char *B,const char *Bend)
    {
       return DoCmpVersion(A,Aend,B,Bend);
-   }   
+   }
    virtual std::string UpstreamVersion(const char *A);
 
    debVersioningSystem();
index 149dbc0e78ea4f4ce130690cf59fc61cddc74d09..e2c41275796feba67031bd9098e5fb4a25577c2b 100644 (file)
@@ -1691,9 +1691,9 @@ bool pkgDepCache::Policy::IsImportantDep(DepIterator const &Dep)
 }
                                                                        /*}}}*/
 // Policy::GetPriority - Get the priority of the package pin           /*{{{*/
-signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgIterator const &/*Pkg*/)
+APT_CONST signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgIterator const &/*Pkg*/)
 { return 0; }
-signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgFileIterator const &/*File*/)
+APT_CONST signed short pkgDepCache::Policy::GetPriority(pkgCache::PkgFileIterator const &/*File*/)
 { return 0; }
                                                                        /*}}}*/
 pkgDepCache::InRootSetFunc *pkgDepCache::GetRootSetFunc()              /*{{{*/
index 3ffc3b47d227b7999a94f574acf884ddb5e09201..bde648c65be5564fcdafa11ac4c45a4b62454222 100644 (file)
@@ -41,6 +41,7 @@
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/pkgcache.h>
 #include <apt-pkg/cacheiterators.h>
+#include <apt-pkg/macros.h>
 
 #include <stddef.h>
 
@@ -239,7 +240,7 @@ class pkgDepCache : protected pkgCache::Namespace
       unsigned char DepState;          // DepState Flags
 
       // Update of candidate version
-      const char *StripEpoch(const char *Ver);
+      const char *StripEpoch(const char *Ver) APT_PURE;
       void Update(PkgIterator Pkg,pkgCache &Cache);
       
       // Various test members for the current status of the package
index bd3b41cf2b1ed9fd2032556fd040f429c9d943bc..609a2cde4ddf375200a387d31912ec55abd7521d 100644 (file)
@@ -25,7 +25,7 @@ class edspIndex : public debStatusIndex
 
    public:
 
-   virtual const Type *GetType() const;
+   virtual const Type *GetType() const APT_CONST;
 
    virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
 
index 139deb9f1f4eb9730dba3482731a5136bb0f7c3a..212dc78406b08a82bb3e56100be83b12c801f755 100644 (file)
@@ -86,7 +86,7 @@ bool edspListParser::ParseStatus(pkgCache::PkgIterator &Pkg,
 }
                                                                        /*}}}*/
 // ListParser::LoadReleaseInfo - Load the release information          /*{{{*/
-bool edspListParser::LoadReleaseInfo(pkgCache::PkgFileIterator & /*FileI*/,
+APT_CONST bool edspListParser::LoadReleaseInfo(pkgCache::PkgFileIterator & /*FileI*/,
                                    FileFd & /*File*/, std::string /*component*/)
 {
    return true;
index eafff39ba136673f5ec0a23fa0ec1b6ffe366819..65e36d714945dc709094b8ab8b8e8d98071577d8 100644 (file)
@@ -31,11 +31,11 @@ class edspSystem : public pkgSystem
 
    public:
 
-   virtual bool Lock();
-   virtual bool UnLock(bool NoErrors = false);
-   virtual pkgPackageManager *CreatePM(pkgDepCache *Cache) const;
+   virtual bool Lock() APT_CONST;
+   virtual bool UnLock(bool NoErrors = false) APT_CONST;
+   virtual pkgPackageManager *CreatePM(pkgDepCache *Cache) const APT_CONST;
    virtual bool Initialize(Configuration &Cnf);
-   virtual bool ArchiveSupported(const char *Type);
+   virtual bool ArchiveSupported(const char *Type) APT_CONST;
    virtual signed Score(Configuration const &Cnf);
    virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List);
    virtual bool FindIndex(pkgCache::PkgFileIterator File,
index 3a1385fa54b1470ec6cbe7219373f47721bc9b68..854ba1bd7d871f272f581358281398d504faa544 100644 (file)
@@ -642,15 +642,13 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector<string> &SigList,
 }
                                                                        /*}}}*/
 // SigVerify::RunGPGV - deprecated wrapper calling ExecGPGV            /*{{{*/
-bool SigVerify::RunGPGV(std::string const &File, std::string const &FileOut,
+APT_NORETURN bool SigVerify::RunGPGV(std::string const &File, std::string const &FileOut,
       int const &statusfd, int fd[2]) {
    ExecGPGV(File, FileOut, statusfd, fd);
-   return false;
 }
-bool SigVerify::RunGPGV(std::string const &File, std::string const &FileOut,
+APT_NORETURN bool SigVerify::RunGPGV(std::string const &File, std::string const &FileOut,
       int const &statusfd) {
    ExecGPGV(File, FileOut, statusfd);
-   return false;
 }
                                                                        /*}}}*/
 bool TranslationsCopy::CopyTranslations(string CDROM,string Name,      /*{{{*/
index 98cdda603d4519e6f73e673b24d5ee3bfc44f58c..b5c9ac77e7aa751d979ea8f48f62da39dd3a79c6 100644 (file)
@@ -54,7 +54,7 @@ class pkgIndexFile
       // Global list of Items supported
       static Type **GlobalList;
       static unsigned long GlobalListLen;
-      static Type *GetType(const char *Type);
+      static Type *GetType(const char *Type) APT_PURE;
 
       const char *Label;
 
index 1123d1690eb58df9630ccb27c5b540f5aef5410a..5353d109845cd6fe7ebf7584b6a56c3ee0c62906 100644 (file)
 
 using std::string;
 
-string indexRecords::GetDist() const
+APT_PURE string indexRecords::GetDist() const
 {
    return this->Dist;
 }
 
-string indexRecords::GetSuite() const
+APT_PURE string indexRecords::GetSuite() const
 {
    return this->Suite;
 }
 
-bool indexRecords::CheckDist(const string MaybeDist) const
+APT_PURE bool indexRecords::CheckDist(const string MaybeDist) const
 {
    return (this->Dist == MaybeDist
           || this->Suite == MaybeDist);
 }
 
-string indexRecords::GetExpectedDist() const
+APT_PURE string indexRecords::GetExpectedDist() const
 {
    return this->ExpectedDist;
 }
 
-time_t indexRecords::GetValidUntil() const
+APT_PURE time_t indexRecords::GetValidUntil() const
 {
    return this->ValidUntil;
 }
 
-const indexRecords::checkSum *indexRecords::Lookup(const string MetaKey)
+APT_PURE const indexRecords::checkSum *indexRecords::Lookup(const string MetaKey)
 {
    std::map<std::string, indexRecords::checkSum* >::const_iterator sum = Entries.find(MetaKey);
    if (sum == Entries.end())
@@ -61,7 +61,7 @@ const indexRecords::checkSum *indexRecords::Lookup(const string MetaKey)
    return sum->second;
 }
 
-bool indexRecords::Exists(string const &MetaKey) const
+APT_PURE bool indexRecords::Exists(string const &MetaKey) const
 {
    return Entries.count(MetaKey) == 1;
 }
index 6f43e0bc05dc97f2227d7603691daf4818547cd3..dfe4fb18c98ab8a92f11bf3b8a8ca2533671bd5b 100644 (file)
@@ -93,7 +93,7 @@ void PackageManagerProgressFd::StartDpkg()
    WriteToStatusFd(status.str());
 }
 
-void PackageManagerProgressFd::Stop()
+APT_CONST void PackageManagerProgressFd::Stop()
 {
 }
 
@@ -176,7 +176,7 @@ void PackageManagerProgressDeb822Fd::StartDpkg()
    WriteToStatusFd(status.str());
 }
 
-void PackageManagerProgressDeb822Fd::Stop()
+APT_CONST void PackageManagerProgressDeb822Fd::Stop()
 {
 }
 
index 1fdfbf55912934e4279ecf80513043706f59785a..b8bad81b379359a61a257161401f6c1d6bfc0d6f 100644 (file)
@@ -70,9 +70,9 @@ class pkgOrderList : protected pkgCache::Namespace
    
    // For pre sorting
    static pkgOrderList *Me;
-   static int OrderCompareA(const void *a, const void *b);
-   static int OrderCompareB(const void *a, const void *b);
-   int FileCmp(PkgIterator A,PkgIterator B);
+   static int OrderCompareA(const void *a, const void *b) APT_PURE;
+   static int OrderCompareB(const void *a, const void *b) APT_PURE;
+   int FileCmp(PkgIterator A,PkgIterator B) APT_PURE;
    
    public:
 
@@ -102,7 +102,7 @@ class pkgOrderList : protected pkgCache::Namespace
    inline void RmFlag(Package *Pkg,unsigned long F) {Flags[Pkg->ID] &= ~F;};
    // IsNow will return true if the Pkg has been not been either configured or unpacked
    inline bool IsNow(PkgIterator Pkg) {return (Flags[Pkg->ID] & (States & (~Removed))) == 0;};
-   bool IsMissing(PkgIterator Pkg);
+   bool IsMissing(PkgIterator Pkg) APT_PURE;
    void WipeFlags(unsigned long F);
    void SetFileList(std::string *FileList) {this->FileList = FileList;};
 
index a86b176a457fd55b156cc4a8173ca3057ec5a72b..344ed9192aff5936805421f90f35cc1e5666d573 100644 (file)
@@ -75,7 +75,7 @@ class pkgPackageManager : protected pkgCache::Namespace
    bool CreateOrderList();
    
    // Analysis helpers
-   bool DepAlwaysTrue(DepIterator D);
+   bool DepAlwaysTrue(DepIterator D) APT_PURE;
    
    // Install helpers
    bool ConfigureAll();
index b3a714511598cc1eaad4b3e2f06c5ce69c2323ab..5e8a9630a0b190afe2f82b1321ba96e6110c9ece 100644 (file)
 #ifndef PKGLIB_PKGCACHE_H
 #define PKGLIB_PKGCACHE_H
 
+#include <apt-pkg/mmap.h>
+#include <apt-pkg/macros.h>
+
 #include <string>
 #include <time.h>
-#include <apt-pkg/mmap.h>
 
 #ifndef APT_8_CLEANER_HEADERS
 using std::string;
@@ -156,8 +158,8 @@ class pkgCache                                                              /*{{{*/
    std::string CacheFile;
    MMap &Map;
 
-   unsigned long sHash(const std::string &S) const;
-   unsigned long sHash(const char *S) const;
+   unsigned long sHash(const std::string &S) const APT_PURE;
+   unsigned long sHash(const char *S) const APT_PURE;
    
    public:
    
@@ -207,8 +209,8 @@ class pkgCache                                                              /*{{{*/
    pkgVersioningSystem *VS;
    
    // Converters
-   static const char *CompTypeDeb(unsigned char Comp);
-   static const char *CompType(unsigned char Comp);
+   static const char *CompTypeDeb(unsigned char Comp) APT_CONST;
+   static const char *CompType(unsigned char Comp) APT_CONST;
    static const char *DepType(unsigned char Dep);
    
    pkgCache(MMap *Map,bool DoMap = true);
@@ -318,7 +320,7 @@ struct pkgCache::Header
    /** \brief Size of the complete cache file */
    unsigned long  CacheFileSize;
 
-   bool CheckSizes(Header &Against) const;
+   bool CheckSizes(Header &Against) const APT_PURE;
    Header();
 };
                                                                        /*}}}*/
index 9ccf71c7b2bdb75555ce4c16573b046ef8e5280f..898b34358e83aa91cdc7e6804ead057adb57e8d9 100644 (file)
@@ -104,7 +104,7 @@ class pkgCacheGenerator                                                     /*{{{*/
 
    bool HasFileDeps() {return FoundFileDeps;};
    bool MergeFileProvides(ListParser &List);
-   bool FinishCache(OpProgress *Progress) APT_DEPRECATED;
+   bool FinishCache(OpProgress *Progress) APT_DEPRECATED APT_CONST;
 
    static bool MakeStatusCache(pkgSourceList &List,OpProgress *Progress,
                        MMap **OutMap = 0,bool AllowMem = false);
index ee6c3f4ecc0a658e16ebc538c53728a72d56f837..14d090c7a64f680ef8b2d98e15c2b263e4e3fd82 100644 (file)
@@ -13,6 +13,8 @@
 #include<config.h>
 
 #include <apt-pkg/pkgsystem.h>
+#include <apt-pkg/macros.h>
+
 #include <cassert>
 #include <cstring>
                                                                        /*}}}*/
@@ -35,7 +37,7 @@ pkgSystem::pkgSystem() : Label(NULL), VS(NULL)
 // System::GetSystem - Get the named system                            /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-pkgSystem *pkgSystem::GetSystem(const char *Label)
+APT_PURE pkgSystem *pkgSystem::GetSystem(const char *Label)
 {
    for (unsigned I = 0; I != GlobalListLen; I++)
       if (strcmp(SysList[I]->Label,Label) == 0)
index ae30b6f50eb0877b6b27d2a38b65ff048fe07cf2..3cfc328298fd178dbc151a6e68f63f30174f7ad1 100644 (file)
@@ -333,7 +333,7 @@ pkgCache::VerIterator pkgPolicy::GetMatch(pkgCache::PkgIterator const &Pkg)
 // Policy::GetPriority - Get the priority of the package pin           /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-signed short pkgPolicy::GetPriority(pkgCache::PkgIterator const &Pkg)
+APT_PURE signed short pkgPolicy::GetPriority(pkgCache::PkgIterator const &Pkg)
 {
    if (Pins[Pkg->ID].Type != pkgVersionMatch::None)
    {
@@ -345,7 +345,7 @@ signed short pkgPolicy::GetPriority(pkgCache::PkgIterator const &Pkg)
    
    return 0;
 }
-signed short pkgPolicy::GetPriority(pkgCache::PkgFileIterator const &File)
+APT_PURE signed short pkgPolicy::GetPriority(pkgCache::PkgFileIterator const &File)
 {
    return PFPriority[File->ID];
 }
index af75693754ded819e1cf598a77ea1328147d8368..9df0c1d7419c3fbd46e38fef1d113fbd8e06b067 100644 (file)
@@ -29,6 +29,7 @@
 
 #include <apt-pkg/pkgcache.h>
 #include <apt-pkg/cacheiterators.h>
+#include <apt-pkg/macros.h>
 
 #include <time.h>
 
@@ -63,7 +64,7 @@ class pkgSourceList
       // Global list of Items supported
       static Type **GlobalList;
       static unsigned long GlobalListLen;
-      static Type *GetType(const char *Type);
+      static Type *GetType(const char *Type) APT_PURE;
 
       const char *Name;
       const char *Label;
index ed69d0d72d470cfa9dfe18406c394c432c1b6bf3..9915debfe4a87e13093192e71db380ded84d7a45 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef PKGLIB_SRCRECORDS_H
 #define PKGLIB_SRCRECORDS_H
 
+#include <apt-pkg/macros.h>
 
 #include <string>
 #include <vector>
@@ -73,7 +74,7 @@ class pkgSrcRecords
 
       //FIXME: Add a parameter to specify which architecture to use for [wildcard] matching
       virtual bool BuildDepends(std::vector<BuildDepRec> &BuildDeps, bool const &ArchOnly, bool const &StripMultiArch = true) = 0;
-      static const char *BuildDepType(unsigned char const &Type);
+      static const char *BuildDepType(unsigned char const &Type) APT_PURE;
 
       virtual bool Files(std::vector<pkgSrcRecords::File> &F) = 0;
       
index 906321456600524617c0a85445a542f435ba9b15..91d176e3ca3a857f03f70ab725a72fda7f489590 100644 (file)
@@ -85,7 +85,7 @@ pkgTagFile::~pkgTagFile()
 }
                                                                        /*}}}*/
 // TagFile::Offset - Return the current offset in the buffer           /*{{{*/
-unsigned long pkgTagFile::Offset()
+APT_PURE unsigned long pkgTagFile::Offset()
 {
    return d->iOffset;
 }
index 986636e977dc210b3fce485340be575e51ef6d80..d4add560e7869e38608d69ed19c34aadf9c4deee 100644 (file)
@@ -35,7 +35,7 @@ const std::string Vendor::LookupFingerprint(std::string Print) const
       return (*Elt).second;
 }
 
-bool Vendor::CheckDist(std::string /*Dist*/)
+APT_CONST bool Vendor::CheckDist(std::string /*Dist*/)
 {
    return true;
 }
index e0e0e6c1410f87f86d1aa41527306bc3c4ea907f..d98809f7e1ddb74333c0ac7b43aeb033b9b9bcdf 100644 (file)
@@ -33,7 +33,7 @@ class pkgVersioningSystem
    // Global list of VS's
    static pkgVersioningSystem **GlobalList;
    static unsigned long GlobalListLen;
-   static pkgVersioningSystem *GetVS(const char *Label);
+   static pkgVersioningSystem *GetVS(const char *Label) APT_PURE;
    
    const char *Label;
    
index a889878ad9a0c20d77caad0b439e7b2b2a33d146..4c8f704c861e3da8b56c9643785fcd254e9c4a54 100644 (file)
@@ -45,7 +45,7 @@ using std::string;
 #endif
 
 class pkgVersionMatch
-{   
+{
    // Version Matching
    std::string VerStr;
    bool VerPrefixMatch;
@@ -61,20 +61,20 @@ class pkgVersionMatch
    std::string RelComponent;
    std::string RelArchitecture;
    bool MatchAll;
-   
+
    // Origin Matching
    std::string OrSite;
-   
+
    public:
-   
+
    enum MatchType {None = 0,Version,Release,Origin} Type;
-   
-   bool MatchVer(const char *A,std::string B,bool Prefix);
+
+   bool MatchVer(const char *A,std::string B,bool Prefix) APT_PURE;
    bool ExpressionMatches(const char *pattern, const char *string);
    bool ExpressionMatches(const std::string& pattern, const char *string);
    bool FileMatch(pkgCache::PkgFileIterator File);
    pkgCache::VerIterator Find(pkgCache::PkgIterator Pkg);
-                              
+
    pkgVersionMatch(std::string Data,MatchType Type);
 };
 
index 94d93df2cc3c1a6c63ea52a43390ad1a9f0cdc26..67c5e8cdc643399cb83956ecae08312f2f7c7dc4 100644 (file)
@@ -13,7 +13,7 @@
 class CacheFile : public pkgCacheFile
 {
    static pkgCache *SortCache;
-   static int NameComp(const void *a,const void *b);
+   static int NameComp(const void *a,const void *b) APT_PURE;
    
    public:
    pkgCache::Package **List;
index 2b2a35637f3cbb58398b76e244816075fc1e9923..682be0a1909cb522bf650c393c2bfe356028d07c 100644 (file)
@@ -12,7 +12,7 @@
 #include <apti18n.h>
                                                                        /*}}}*/
 
-static bool strcmp_match_in_list(char const * const Cmd, ...)          /*{{{*/
+APT_SENTINEL static bool strcmp_match_in_list(char const * const Cmd, ...)             /*{{{*/
 {
    va_list args;
    bool found = false;
index 0860ee7bff5374962d77c4b86dacae87f83cdab5..84b775390b31799d785439afbed07f370ae45514 100644 (file)
@@ -1118,7 +1118,7 @@ static bool Dotty(CommandLine &CmdL)
 /* This displays the package record from the proper package index file. 
    It is not used by DumpAvail for performance reasons. */
 
-static unsigned char const* skipDescriptionFields(unsigned char const * DescP)
+static APT_PURE unsigned char const* skipDescriptionFields(unsigned char const * DescP)
 {
    char const * const TagName = "\nDescription";
    size_t const TagLen = strlen(TagName);
index facb6002bba44e80404c091949ba1e9521324410..b7447463dff2840cfef396003beb0bd909bf9de7 100644 (file)
@@ -98,7 +98,7 @@ bool pkgCdromTextStatus::ChangeCdrom()
    return true;
 }
 
-OpProgress* pkgCdromTextStatus::GetOpProgress()
+APT_CONST OpProgress* pkgCdromTextStatus::GetOpProgress()
 {
    return &Progress;
 }
index 119d0c7e8872bd51fb1f7437b4561da4ec1970eb..dd92f0086e936043af045211f923ae0eccad9ceb 100644 (file)
@@ -78,7 +78,7 @@ class FtpMethod : public pkgAcqMethod
    static std::string FailFile;
    static int FailFd;
    static time_t FailTime;
-   static void SigTerm(int);
+   static APT_NORETURN void SigTerm(int);
    
    public:
    
index 82f16e9b27c7016adcd310e85c9edc55347b24ec..ed6e3517dece002eb9b4d231eb66b4e8f0a0bcd0 100644 (file)
@@ -470,7 +470,7 @@ bool HttpServerState::WriteResponse(const std::string &Data)                /*{{{*/
    return Out.Read(Data);
 }
                                                                        /*}}}*/
-bool HttpServerState::IsOpen()                                         /*{{{*/
+APT_PURE bool HttpServerState::IsOpen()                                        /*{{{*/
 {
    return (ServerFd != -1);
 }
@@ -485,7 +485,7 @@ bool HttpServerState::InitHashes(FileFd &File)                              /*{{{*/
    return In.Hash->AddFD(File, StartPos);
 }
                                                                        /*}}}*/
-Hashes * HttpServerState::GetHashes()                                  /*{{{*/
+APT_PURE Hashes * HttpServerState::GetHashes()                         /*{{{*/
 {
    return In.Hash;
 }
index c2c06acfec097cf0b5b32056720e83ac4a9e4b5f..dd259e7442caf7b00cc2658ab003260f94f9edee 100644 (file)
@@ -64,7 +64,7 @@ class RSHMethod : public pkgAcqMethod
    static std::string FailFile;
    static int FailFd;
    static time_t FailTime;
-   static void SigTerm(int);
+   static APT_NORETURN void SigTerm(int);
 
    public:
 
index d1e151f8af6010e8215067975358bc826d2c9e11..0f45ab99493de740159715e7d3488cfdc5081512 100644 (file)
@@ -129,7 +129,7 @@ class ServerMethod : public pkgAcqMethod
    static std::string FailFile;
    static int FailFd;
    static time_t FailTime;
-   static void SigTerm(int);
+   static APT_NORETURN void SigTerm(int);
 
    virtual bool Configuration(std::string Message);
    virtual bool Flush() { return Server->Flush(File); };
index cde6a63515029ac6699cda6de01d4670fde88482..3578015923ba0afc8c386150237a6fd5784ab614 100644 (file)
@@ -1,6 +1,8 @@
 #include <iostream>
 #include <cstdlib>
 
+#include <apt-pkg/macros.h>
+
 #if __GNUC__ >= 4
        #pragma GCC diagnostic push
        #pragma GCC diagnostic ignored "-Wmissing-declarations"
@@ -10,7 +12,7 @@
 #define equalsNot(x,y) assertEqualsNot(y, x, __LINE__)
 
 template < typename X, typename Y >
-void OutputAssertEqual(X expect, char const* compare, Y get, unsigned long const &line) {
+APT_NORETURN void OutputAssertEqual(X expect, char const* compare, Y get, unsigned long const &line) {
        std::cerr << "Test FAILED: »" << expect << "« " << compare << " »" << get << "« at line " << line << std::endl;
        std::exit(EXIT_FAILURE);
 }