]> git.saurik.com Git - apt.git/commitdiff
make all d-pointer * const pointers
authorDavid Kalnischkies <david@kalnischkies.de>
Wed, 17 Jun 2015 07:29:00 +0000 (09:29 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Mon, 10 Aug 2015 15:25:25 +0000 (17:25 +0200)
Doing this disables the implicit copy assignment operator (among others)
which would cause hovac if used on the classes as it would just copy the
pointer, not the data the d-pointer points to. For most of the classes
we don't need a copy assignment operator anyway and in many classes it
was broken before as many contain a pointer of some sort.

Only for our Cacheset Container interfaces we define an explicit copy
assignment operator which could later be implemented to copy the data
from one d-pointer to the other if we need it.

Git-Dch: Ignore

72 files changed:
apt-pkg/acquire-item.cc
apt-pkg/acquire-item.h
apt-pkg/acquire-method.cc
apt-pkg/acquire-method.h
apt-pkg/acquire-worker.cc
apt-pkg/acquire-worker.h
apt-pkg/acquire.cc
apt-pkg/acquire.h
apt-pkg/algorithms.cc
apt-pkg/algorithms.h
apt-pkg/cachefile.h
apt-pkg/cacheset.cc
apt-pkg/cacheset.h
apt-pkg/cdrom.cc
apt-pkg/cdrom.h
apt-pkg/clean.cc
apt-pkg/clean.h
apt-pkg/contrib/fileutl.cc
apt-pkg/contrib/fileutl.h
apt-pkg/contrib/hashes.cc
apt-pkg/contrib/hashes.h
apt-pkg/deb/debindexfile.cc
apt-pkg/deb/debindexfile.h
apt-pkg/deb/deblistparser.cc
apt-pkg/deb/deblistparser.h
apt-pkg/deb/debmetaindex.cc
apt-pkg/deb/debmetaindex.h
apt-pkg/deb/debrecords.cc
apt-pkg/deb/debrecords.h
apt-pkg/deb/debsrcrecords.cc
apt-pkg/deb/debsrcrecords.h
apt-pkg/deb/debsystem.cc
apt-pkg/deb/debsystem.h
apt-pkg/deb/dpkgpm.cc
apt-pkg/deb/dpkgpm.h
apt-pkg/depcache.cc
apt-pkg/depcache.h
apt-pkg/edsp/edspindexfile.cc
apt-pkg/edsp/edspindexfile.h
apt-pkg/edsp/edsplistparser.cc
apt-pkg/edsp/edsplistparser.h
apt-pkg/edsp/edspsystem.cc
apt-pkg/edsp/edspsystem.h
apt-pkg/indexcopy.cc
apt-pkg/indexcopy.h
apt-pkg/indexfile.cc
apt-pkg/indexfile.h
apt-pkg/indexrecords.h
apt-pkg/install-progress.cc
apt-pkg/install-progress.h
apt-pkg/metaindex.cc
apt-pkg/metaindex.h
apt-pkg/orderlist.cc
apt-pkg/orderlist.h
apt-pkg/packagemanager.cc
apt-pkg/packagemanager.h
apt-pkg/pkgcache.cc
apt-pkg/pkgcache.h
apt-pkg/pkgcachegen.cc
apt-pkg/pkgcachegen.h
apt-pkg/pkgrecords.cc
apt-pkg/pkgrecords.h
apt-pkg/pkgsystem.cc
apt-pkg/pkgsystem.h
apt-pkg/policy.cc
apt-pkg/policy.h
apt-pkg/sourcelist.cc
apt-pkg/sourcelist.h
apt-pkg/srcrecords.cc
apt-pkg/srcrecords.h
apt-pkg/tagfile.cc
apt-pkg/tagfile.h

index 034b7725af47f4c478822055f2a3100665465bf4..222ca8931b82699fdac9253adda862c3fcbbf847 100644 (file)
@@ -406,7 +406,7 @@ class APT_HIDDEN NoActionItem : public pkgAcquire::Item                     /*{{{*/
 APT_IGNORE_DEPRECATED_PUSH
 pkgAcquire::Item::Item(pkgAcquire * const owner) :
    FileSize(0), PartialSize(0), Mode(0), ID(0), Complete(false), Local(false),
-    QueueCounter(0), ExpectedAdditionalItems(0), Owner(owner)
+    QueueCounter(0), ExpectedAdditionalItems(0), Owner(owner), d(NULL)
 {
    Owner->Add(this);
    Status = StatIdle;
@@ -662,7 +662,7 @@ std::string pkgAcquire::Item::HashSum() const                               /*{{{*/
 
 pkgAcqTransactionItem::pkgAcqTransactionItem(pkgAcquire * const Owner, /*{{{*/
       pkgAcqMetaBase * const transactionManager, IndexTarget const &target) :
-   pkgAcquire::Item(Owner), Target(target), TransactionManager(transactionManager)
+   pkgAcquire::Item(Owner), d(NULL), Target(target), TransactionManager(transactionManager)
 {
    if (TransactionManager != this)
       TransactionManager->Add(this);
@@ -684,7 +684,7 @@ pkgAcqMetaBase::pkgAcqMetaBase(pkgAcquire * const Owner,
       std::vector<IndexTarget> const &IndexTargets,
       IndexTarget const &DataTarget,
       indexRecords * const MetaIndexParser)
-: pkgAcqTransactionItem(Owner, TransactionManager, DataTarget),
+: pkgAcqTransactionItem(Owner, TransactionManager, DataTarget), d(NULL),
    MetaIndexParser(MetaIndexParser), LastMetaIndexParser(NULL), IndexTargets(IndexTargets),
    AuthPass(false), IMSHit(false)
 {
@@ -1106,7 +1106,7 @@ pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire * const Owner,  /*{{{*/
       std::vector<IndexTarget> const &IndexTargets,
       indexRecords * const MetaIndexParser) :
    pkgAcqMetaIndex(Owner, this, ClearsignedTarget, DetachedSigTarget, IndexTargets, MetaIndexParser),
-   ClearsignedTarget(ClearsignedTarget),
+   d(NULL), ClearsignedTarget(ClearsignedTarget),
    DetachedDataTarget(DetachedDataTarget)
 {
    // index targets + (worst case:) Release/Release.gpg
@@ -1245,7 +1245,7 @@ pkgAcqMetaIndex::pkgAcqMetaIndex(pkgAcquire * const Owner,                /*{{{*/
                                 IndexTarget const &DetachedSigTarget,
                                 vector<IndexTarget> const &IndexTargets,
                                 indexRecords * const MetaIndexParser) :
-   pkgAcqMetaBase(Owner, TransactionManager, IndexTargets, DataTarget, MetaIndexParser),
+   pkgAcqMetaBase(Owner, TransactionManager, IndexTargets, DataTarget, MetaIndexParser), d(NULL),
    DetachedSigTarget(DetachedSigTarget)
 {
    if(_config->FindB("Debug::Acquire::Transaction", false) == true)
@@ -1327,7 +1327,7 @@ pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire * const Owner,
       pkgAcqMetaBase * const TransactionManager,
       IndexTarget const &Target,
       pkgAcqMetaIndex * const MetaIndex) :
-   pkgAcqTransactionItem(Owner, TransactionManager, Target), MetaIndex(MetaIndex)
+   pkgAcqTransactionItem(Owner, TransactionManager, Target), d(NULL), MetaIndex(MetaIndex)
 {
    DestFile = GetPartialFileNameFromURI(Target.URI);
 
@@ -1489,7 +1489,7 @@ void pkgAcqMetaSig::Failed(string const &Message,pkgAcquire::MethodConfig const
 pkgAcqBaseIndex::pkgAcqBaseIndex(pkgAcquire * const Owner,
       pkgAcqMetaBase * const TransactionManager,
       IndexTarget const &Target)
-: pkgAcqTransactionItem(Owner, TransactionManager, Target)
+: pkgAcqTransactionItem(Owner, TransactionManager, Target), d(NULL)
 {
 }
                                                                        /*}}}*/
@@ -1505,7 +1505,7 @@ pkgAcqBaseIndex::~pkgAcqBaseIndex() {}
 pkgAcqDiffIndex::pkgAcqDiffIndex(pkgAcquire * const Owner,
                                  pkgAcqMetaBase * const TransactionManager,
                                  IndexTarget const &Target)
-   : pkgAcqBaseIndex(Owner, TransactionManager, Target)
+   : pkgAcqBaseIndex(Owner, TransactionManager, Target), d(NULL)
 {
    Debug = _config->FindB("Debug::pkgAcquire::Diffs",false);
 
@@ -1907,7 +1907,7 @@ pkgAcqIndexDiffs::pkgAcqIndexDiffs(pkgAcquire * const Owner,
                                    pkgAcqMetaBase * const TransactionManager,
                                    IndexTarget const &Target,
                                   vector<DiffInfo> const &diffs)
-   : pkgAcqBaseIndex(Owner, TransactionManager, Target),
+   : pkgAcqBaseIndex(Owner, TransactionManager, Target), d(NULL),
      available_patches(diffs)
 {
    DestFile = GetPartialFileNameFromURI(Target.URI);
@@ -2131,7 +2131,7 @@ pkgAcqIndexMergeDiffs::pkgAcqIndexMergeDiffs(pkgAcquire * const Owner,
                                              IndexTarget const &Target,
                                              DiffInfo const &patch,
                                              std::vector<pkgAcqIndexMergeDiffs*> const * const allPatches)
-  : pkgAcqBaseIndex(Owner, TransactionManager, Target),
+  : pkgAcqBaseIndex(Owner, TransactionManager, Target), d(NULL),
      patch(patch), allPatches(allPatches), State(StateFetchDiff)
 {
    Debug = _config->FindB("Debug::pkgAcquire::Diffs",false);
@@ -2274,7 +2274,7 @@ pkgAcqIndexMergeDiffs::~pkgAcqIndexMergeDiffs() {}
 pkgAcqIndex::pkgAcqIndex(pkgAcquire * const Owner,
                          pkgAcqMetaBase * const TransactionManager,
                          IndexTarget const &Target)
-   : pkgAcqBaseIndex(Owner, TransactionManager, Target), Stage(STAGE_DOWNLOAD)
+   : pkgAcqBaseIndex(Owner, TransactionManager, Target), d(NULL), Stage(STAGE_DOWNLOAD)
 {
    // autoselect the compression method
    AutoSelectCompression();
@@ -2555,7 +2555,7 @@ pkgAcqIndex::~pkgAcqIndex() {}
 pkgAcqArchive::pkgAcqArchive(pkgAcquire * const Owner,pkgSourceList * const Sources,
                             pkgRecords * const Recs,pkgCache::VerIterator const &Version,
                             string &StoreFilename) :
-               Item(Owner), LocalSource(false), Version(Version), Sources(Sources), Recs(Recs),
+               Item(Owner), d(NULL), LocalSource(false), Version(Version), Sources(Sources), Recs(Recs),
                StoreFilename(StoreFilename), Vf(Version.FileList()),
               Trusted(false)
 {
@@ -3048,7 +3048,7 @@ pkgAcqFile::pkgAcqFile(pkgAcquire * const Owner,string const &URI, HashStringLis
                       unsigned long long const Size,string const &Dsc,string const &ShortDesc,
                       const string &DestDir, const string &DestFilename,
                        bool const IsIndexFile) :
-                       Item(Owner), IsIndexFile(IsIndexFile), ExpectedHashes(Hashes)
+                       Item(Owner), d(NULL), IsIndexFile(IsIndexFile), ExpectedHashes(Hashes)
 {
    Retries = _config->FindI("Acquire::Retries",0);
 
index 36fedc7bef79a4d75d47c706e89803cc612d1b49..c4bbfc7a1542b3568240118ddb6463c1b453d7fe 100644 (file)
@@ -336,7 +336,7 @@ class pkgAcquire::Item : public WeakPointable                               /*{{{*/
    virtual std::string GetFinalFilename() const;
 
    private:
-   void *d;
+   void * const d;
 
    friend class pkgAcqMetaBase;
 };
@@ -344,7 +344,7 @@ class pkgAcquire::Item : public WeakPointable                               /*{{{*/
 class APT_HIDDEN pkgAcqTransactionItem: public pkgAcquire::Item                /*{{{*/
 /** \brief baseclass for the indexes files to manage them all together */
 {
-   void *d;
+   void * const d;
    protected:
    IndexTarget const Target;
    HashStringList GetExpectedHashesFor(std::string const &MetaKey) const;
@@ -379,7 +379,7 @@ class APT_HIDDEN pkgAcqTransactionItem: public pkgAcquire::Item             /*{{{*/
 class APT_HIDDEN pkgAcqMetaBase : public pkgAcqTransactionItem         /*{{{*/
 /** \brief the manager of a transaction */
 {
-   void *d;
+   void * const d;
  protected:
    std::vector<pkgAcqTransactionItem*> Transaction;
 
@@ -492,7 +492,7 @@ class APT_HIDDEN pkgAcqMetaBase : public pkgAcqTransactionItem              /*{{{*/
  */
 class APT_HIDDEN pkgAcqMetaIndex : public pkgAcqMetaBase
 {
-   void *d;
+   void * const d;
    protected:
    IndexTarget const DetachedSigTarget;
 
@@ -527,7 +527,7 @@ class APT_HIDDEN pkgAcqMetaIndex : public pkgAcqMetaBase
  */
 class APT_HIDDEN pkgAcqMetaSig : public pkgAcqTransactionItem
 {
-   void *d;
+   void * const d;
 
    pkgAcqMetaIndex * const MetaIndex;
 
@@ -556,7 +556,7 @@ class APT_HIDDEN pkgAcqMetaSig : public pkgAcqTransactionItem
 /** \brief An item repsonsible for downloading clearsigned metaindexes {{{*/
 class APT_HIDDEN pkgAcqMetaClearSig : public pkgAcqMetaIndex
 {
-   void *d;
+   void * const d;
 
    IndexTarget const ClearsignedTarget;
    IndexTarget const DetachedDataTarget;
@@ -580,7 +580,7 @@ public:
 /** \brief Common base class for all classes that deal with fetching indexes   {{{*/
 class APT_HIDDEN pkgAcqBaseIndex : public pkgAcqTransactionItem
 {
-   void *d;
+   void * const d;
 
  public:
    /** \brief Get the full pathname of the final file for the current URI */
@@ -602,7 +602,7 @@ class APT_HIDDEN pkgAcqBaseIndex : public pkgAcqTransactionItem
  */
 class APT_HIDDEN pkgAcqDiffIndex : public pkgAcqBaseIndex
 {
-   void *d;
+   void * const d;
 
  protected:
    /** \brief If \b true, debugging information will be written to std::clog. */
@@ -684,7 +684,7 @@ struct APT_HIDDEN DiffInfo {                                                /*{{{*/
  */
 class APT_HIDDEN pkgAcqIndexMergeDiffs : public pkgAcqBaseIndex
 {
-   void *d;
+   void * const d;
 
    protected:
 
@@ -768,7 +768,7 @@ class APT_HIDDEN pkgAcqIndexMergeDiffs : public pkgAcqBaseIndex
  */
 class APT_HIDDEN pkgAcqIndexDiffs : public pkgAcqBaseIndex
 {
-   void *d;
+   void * const d;
 
    private:
 
@@ -878,7 +878,7 @@ class APT_HIDDEN pkgAcqIndexDiffs : public pkgAcqBaseIndex
  */
 class APT_HIDDEN pkgAcqIndex : public pkgAcqBaseIndex
 {
-   void *d;
+   void * const d;
 
    protected:
 
@@ -957,7 +957,7 @@ class APT_HIDDEN pkgAcqIndex : public pkgAcqBaseIndex
  */
 class pkgAcqArchive : public pkgAcquire::Item
 {
-   void *d;
+   void * const d;
 
    bool LocalSource;
    HashStringList ExpectedHashes;
@@ -1045,7 +1045,7 @@ class pkgAcqArchive : public pkgAcquire::Item
  */
 class pkgAcqChangelog : public pkgAcquire::Item
 {
-   void *d;
+   void * const d;
    std::string TemporaryDirectory;
    std::string const SrcName;
    std::string const SrcVersion;
@@ -1160,7 +1160,7 @@ private:
  */
 class pkgAcqFile : public pkgAcquire::Item
 {
-   void *d;
+   void * const d;
 
    /** \brief How many times to retry the download, set from
     *  Acquire::Retries.
index d3aff4d5e335718c7a25924760f426904d950d58..991e6780a6e71bf375e82430d51f8b73de812157 100644 (file)
@@ -457,7 +457,7 @@ void pkgAcqMethod::Redirect(const string &NewURI)
 // ---------------------------------------------------------------------
 /* */
 pkgAcqMethod::FetchResult::FetchResult() : LastModified(0),
-                                   IMSHit(false), Size(0), ResumePoint(0)
+                                   IMSHit(false), Size(0), ResumePoint(0), d(NULL)
 {
 }
                                                                        /*}}}*/
@@ -480,7 +480,7 @@ void pkgAcqMethod::Dequeue() {                                              /*{{{*/
                                                                        /*}}}*/
 pkgAcqMethod::~pkgAcqMethod() {}
 
-pkgAcqMethod::FetchItem::FetchItem() {}
+pkgAcqMethod::FetchItem::FetchItem() : d(NULL) {}
 pkgAcqMethod::FetchItem::~FetchItem() {}
 
 pkgAcqMethod::FetchResult::~FetchResult() {}
index f6659ef1f2b6b8bdf44ed66bef20a7445395e5c5..cab2bda4044dbc2de176226881b8b9d9c8753bc6 100644 (file)
@@ -56,7 +56,7 @@ class pkgAcqMethod
       FetchItem();
       virtual ~FetchItem();
       private:
-      void *d;
+      void * const d;
    };
    
    struct FetchResult
@@ -73,7 +73,7 @@ class pkgAcqMethod
       FetchResult();
       virtual ~FetchResult();
       private:
-      void *d;
+      void * const d;
    };
 
    // State
index 55fa5734fad77a372497e32383395a1284e5b96d..8d619e96da9a1daed290d04cbab56712f0aa38fd 100644 (file)
@@ -47,7 +47,7 @@ using namespace std;
 // ---------------------------------------------------------------------
 /* */
 pkgAcquire::Worker::Worker(Queue *Q,MethodConfig *Cnf,
-                          pkgAcquireStatus *log) : Log(log)
+                          pkgAcquireStatus *log) : d(NULL), Log(log)
 {
    OwnerQ = Q;
    Config = Cnf;
@@ -62,15 +62,10 @@ pkgAcquire::Worker::Worker(Queue *Q,MethodConfig *Cnf,
 // Worker::Worker - Constructor for method config startup              /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-pkgAcquire::Worker::Worker(MethodConfig *Cnf)
+pkgAcquire::Worker::Worker(MethodConfig *Cnf) : d(NULL), OwnerQ(NULL), Config(Cnf),
+                                               Access(Cnf->Access), CurrentItem(NULL),
+                                               CurrentSize(0), TotalSize(0)
 {
-   OwnerQ = 0;
-   Config = Cnf;
-   Access = Cnf->Access;
-   CurrentItem = 0;
-   TotalSize = 0;
-   CurrentSize = 0;
-
    Construct();
 }
                                                                        /*}}}*/
index 31b9d3b88b838bdb6febf78413bd1d7f019b7a3e..42762abe0427ee1c404c050f7495ae305a9477c4 100644 (file)
@@ -47,7 +47,7 @@
 class pkgAcquire::Worker : public WeakPointable
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
   
    friend class pkgAcquire;
    
index f70feeeec8c67bbd5e0ef32d13a39dd9342b51a5..5fd3780965977943be1e825b149f7af1c0d3405b 100644 (file)
@@ -51,13 +51,13 @@ using namespace std;
 // Acquire::pkgAcquire - Constructor                                   /*{{{*/
 // ---------------------------------------------------------------------
 /* We grab some runtime state from the configuration space */
-pkgAcquire::pkgAcquire() : LockFD(-1), Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch(0),
+pkgAcquire::pkgAcquire() : LockFD(-1), d(NULL), Queues(0), Workers(0), Configs(0), Log(NULL), ToFetch(0),
                           Debug(_config->FindB("Debug::pkgAcquire",false)),
                           Running(false)
 {
    Initialize();
 }
-pkgAcquire::pkgAcquire(pkgAcquireStatus *Progress) : LockFD(-1), Queues(0), Workers(0),
+pkgAcquire::pkgAcquire(pkgAcquireStatus *Progress) : LockFD(-1), d(NULL), Queues(0), Workers(0),
                           Configs(0), Log(NULL), ToFetch(0),
                           Debug(_config->FindB("Debug::pkgAcquire",false)),
                           Running(false)
index 661b35f3489c19e2cef0f004606e5f3b548d0dd2..aa581dfb877799f2bd8227dd2eae26a1b43ff401 100644 (file)
@@ -101,7 +101,7 @@ class pkgAcquire
    /** \brief FD of the Lock file we acquire in Setup (if any) */
    int LockFD;
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    public:
    
@@ -411,7 +411,7 @@ class pkgAcquire::Queue
    friend class pkgAcquire::Worker;
 
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    /** \brief The next queue in the pkgAcquire object's list of queues. */
    Queue *Next;
@@ -596,7 +596,7 @@ class pkgAcquire::Queue
 class pkgAcquire::UriIterator
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    /** The next queue to iterate over. */
    pkgAcquire::Queue *CurQ;
@@ -633,7 +633,7 @@ class pkgAcquire::UriIterator
 struct pkgAcquire::MethodConfig
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
    
    /** \brief The next link on the acquire method list.
     *
@@ -694,7 +694,7 @@ struct pkgAcquire::MethodConfig
 class pkgAcquireStatus
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    protected:
    
index adbec82f71a9d2eddf72d0f1b65e11f5e2c11350..db765febe0cb9b8c5c58eb29b36861d470d1c256 100644 (file)
@@ -43,7 +43,7 @@ pkgProblemResolver *pkgProblemResolver::This = 0;
 /* The legacy translations here of input Pkg iterators is obsolete, 
    this is not necessary since the pkgCaches are fully shared now. */
 pkgSimulate::pkgSimulate(pkgDepCache *Cache) : pkgPackageManager(Cache),
-                           iPolicy(Cache),
+                           d(NULL), iPolicy(Cache),
                            Sim(&Cache->GetCache(),&iPolicy),
                            group(Sim)
 {
index 9c9ceead4f091d11fd8210ad55dcbb539cc4aa96..d9cce672aa4774298eae4fd1dc4eeb1575527fb4 100644 (file)
@@ -54,7 +54,7 @@ using std::ostream;
 
 class pkgSimulate : public pkgPackageManager                           /*{{{*/
 {
-   void *d;
+   void * const d;
    protected:
 
    class Policy : public pkgDepCache::Policy
@@ -95,7 +95,7 @@ class pkgProblemResolver                                              /*{{{*/
 {
  private:
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    pkgDepCache &Cache;
    typedef pkgCache::PkgIterator PkgIterator;
index 74a092593d3f64adf7718a2215ac00fd4b82c406..83dd90d3671b5eaa0bf8ed3b81e007af7f1c56fc 100644 (file)
@@ -37,7 +37,7 @@ class OpProgress;
 class pkgCacheFile
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    protected:
    
index c42f761129fe14dc1afe796fbac5562cf0025734..a4e330a0a9525bb4f0614c12c4c38a8d9447f937 100644 (file)
@@ -813,16 +813,25 @@ APT_CONST void CacheSetHelper::showSelectedVersion(pkgCache::PkgIterator const &
                                                                        /*}}}*/
 
 CacheSetHelper::CacheSetHelper(bool const ShowError, GlobalError::MsgType ErrorType) :
-   ShowError(ShowError), ErrorType(ErrorType) {}
+   ShowError(ShowError), ErrorType(ErrorType), d(NULL) {}
 CacheSetHelper::~CacheSetHelper() {}
 
-PackageContainerInterface::PackageContainerInterface() : ConstructedBy(CacheSetHelper::UNKNOWN) {}
-PackageContainerInterface::PackageContainerInterface(CacheSetHelper::PkgSelector const by) : ConstructedBy(by) {}
+PackageContainerInterface::PackageContainerInterface() : ConstructedBy(CacheSetHelper::UNKNOWN), d(NULL) {}
+PackageContainerInterface::PackageContainerInterface(CacheSetHelper::PkgSelector const by) : ConstructedBy(by), d(NULL) {}
+PackageContainerInterface& PackageContainerInterface::operator=(PackageContainerInterface const &other) {
+   if (this != &other)
+      this->ConstructedBy = other.ConstructedBy;
+   return *this;
+}
 PackageContainerInterface::~PackageContainerInterface() {}
 
-PackageUniverse::PackageUniverse(pkgCache * const Owner) : _cont(Owner) { }
+PackageUniverse::PackageUniverse(pkgCache * const Owner) : _cont(Owner), d(NULL) { }
 PackageUniverse::~PackageUniverse() {}
 
-VersionContainerInterface::VersionContainerInterface() {}
+VersionContainerInterface::VersionContainerInterface() : d(NULL) {}
+VersionContainerInterface& VersionContainerInterface::operator=(VersionContainerInterface const &) {
+   return *this;
+}
+
 VersionContainerInterface::~VersionContainerInterface() {}
 }
index 7fd740335bb7a093f29a2c9ed20d952e1179a582..4fe1eba87c5556f7f263163ebf85ad48d280743c 100644 (file)
@@ -203,7 +203,7 @@ protected:
        bool PackageFromPackageName(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern);
        bool PackageFromString(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string const &pattern);
 private:
-       void *d;
+       void * const d;
 };                                                                     /*}}}*/
 
 class PackageContainerInterface {                                      /*{{{*/
@@ -266,6 +266,7 @@ APT_IGNORE_DEPRECATED_POP
        CacheSetHelper::PkgSelector getConstructor() const { return ConstructedBy; }
        PackageContainerInterface();
        explicit PackageContainerInterface(CacheSetHelper::PkgSelector const by);
+       PackageContainerInterface& operator=(PackageContainerInterface const &other);
        virtual ~PackageContainerInterface();
 
        APT_DEPRECATED static bool FromTask(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern, CacheSetHelper &helper) {
@@ -294,7 +295,7 @@ APT_IGNORE_DEPRECATED_POP
 
 private:
        CacheSetHelper::PkgSelector ConstructedBy;
-       void *d;
+       void * const d;
 };
                                                                        /*}}}*/
 template<class Container> class PackageContainer : public PackageContainerInterface {/*{{{*/
@@ -555,7 +556,7 @@ template<> template<class Compare> inline bool PackageContainer<std::vector<pkgC
     private methods. */
 class APT_HIDDEN PackageUniverse : public PackageContainerInterface {
        pkgCache * const _cont;
-       void *d;
+       void * const d;
 public:
        typedef pkgCache::PkgIterator iterator;
        typedef pkgCache::PkgIterator const_iterator;
@@ -707,9 +708,10 @@ APT_IGNORE_DEPRECATED_PUSH
 APT_IGNORE_DEPRECATED_POP
 
        VersionContainerInterface();
+       VersionContainerInterface& operator=(VersionContainerInterface const &other);
        virtual ~VersionContainerInterface();
 private:
-       void *d;
+       void * const d;
 
 protected:                                                             /*{{{*/
 
index de5cd0657d3080d1199ba863458cb59f64c2fe49..463225963f73106535aca02761c06272fc7cfeb4 100644 (file)
@@ -917,7 +917,7 @@ bool pkgCdrom::Add(pkgCdromStatus *log)                                     /*{{{*/
 }
                                                                        /*}}}*/
 pkgUdevCdromDevices::pkgUdevCdromDevices()                             /*{{{*/
-: libudev_handle(NULL), udev_new(NULL), udev_enumerate_add_match_property(NULL),
+: d(NULL), libudev_handle(NULL), udev_new(NULL), udev_enumerate_add_match_property(NULL),
    udev_enumerate_scan_devices(NULL), udev_enumerate_get_list_entry(NULL),
    udev_device_new_from_syspath(NULL), udev_enumerate_get_udev(NULL),
    udev_list_entry_get_name(NULL), udev_device_get_devnode(NULL),
@@ -1023,8 +1023,8 @@ pkgUdevCdromDevices::~pkgUdevCdromDevices()                             /*{{{*/
 }
                                                                        /*}}}*/
 
-pkgCdromStatus::pkgCdromStatus() : totalSteps(0) {}
+pkgCdromStatus::pkgCdromStatus() : d(NULL), totalSteps(0) {}
 pkgCdromStatus::~pkgCdromStatus() {}
 
-pkgCdrom::pkgCdrom() {}
+pkgCdrom::pkgCdrom() : d(NULL) {}
 pkgCdrom::~pkgCdrom() {}
index 5626b5059e9ed4d9c38921970421117db66cdae9..ab1e046bf8407e918dd51f022f94f104212143c3 100644 (file)
@@ -18,7 +18,7 @@ class OpProgress;
 
 class pkgCdromStatus                                                   /*{{{*/
 {
-   void *d;
+   void * const d;
  protected:
    int totalSteps;
 
@@ -79,7 +79,7 @@ class pkgCdrom                                                                /*{{{*/
    virtual ~pkgCdrom();
 
  private:
-   void *d;
+   void * const d;
 
    APT_HIDDEN bool MountAndIdentCDROM(Configuration &Database, std::string &CDROM,
         std::string &ident, pkgCdromStatus * const log, bool const interactive);
@@ -98,7 +98,7 @@ struct CdromDevice                                                    /*{{{*/
                                                                        /*}}}*/
 class pkgUdevCdromDevices                                              /*{{{*/
 {
-   void *d;
+   void * const d;
  protected:
    // libudev dlopen structure
    void *libudev_handle;
index d05ae83b95d052ee4f37fb6a736df3f487a1ff02..ebe8a8a530569ad5df7f80d49e5754bac23c41dd 100644 (file)
@@ -132,5 +132,5 @@ bool pkgArchiveCleaner::Go(std::string Dir,pkgCache &Cache)
 }
                                                                        /*}}}*/
 
-pkgArchiveCleaner::pkgArchiveCleaner() {}
+pkgArchiveCleaner::pkgArchiveCleaner() : d(NULL) {}
 APT_CONST pkgArchiveCleaner::~pkgArchiveCleaner() {}
index a1495702b7b3019ea31125c2efb555ce59dface8..6cedae0869a7811426273c9bca57e51cbddc21a7 100644 (file)
@@ -21,7 +21,7 @@ class pkgCache;
 class pkgArchiveCleaner
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    protected:
 
index 8ec868ec044e771bae88d018db42ec21f9da2d27..f40526b5c24747a97835ca76bb2eafe9f1d7b131 100644 (file)
@@ -1011,6 +1011,25 @@ class FileFdPrivate {                                                    /*{{{*/
        ~FileFdPrivate() { CloseDown(""); }
 };
                                                                        /*}}}*/
+// FileFd Constructors                                                 /*{{{*/
+FileFd::FileFd(std::string FileName,unsigned int const Mode,unsigned long AccessMode) : iFd(-1), Flags(0), d(NULL)
+{
+   Open(FileName,Mode, None, AccessMode);
+}
+FileFd::FileFd(std::string FileName,unsigned int const Mode, CompressMode Compress, unsigned long AccessMode) : iFd(-1), Flags(0), d(NULL)
+{
+   Open(FileName,Mode, Compress, AccessMode);
+}
+FileFd::FileFd() : iFd(-1), Flags(AutoClose), d(NULL) {}
+FileFd::FileFd(int const Fd, unsigned int const Mode, CompressMode Compress) : iFd(-1), Flags(0), d(NULL)
+{
+   OpenDescriptor(Fd, Mode, Compress);
+}
+FileFd::FileFd(int const Fd, bool const AutoClose) : iFd(-1), Flags(0), d(NULL)
+{
+   OpenDescriptor(Fd, ReadWrite, None, AutoClose);
+}
+                                                                       /*}}}*/
 // FileFd::Open - Open a file                                          /*{{{*/
 // ---------------------------------------------------------------------
 /* The most commonly used open mode combinations are given with Mode */
index 97cb05c56ffed3ffc0ddd3b99b059e4d7d2c7490..3a99e3e6175dae780dd6e63233f970697448d219 100644 (file)
@@ -130,28 +130,17 @@ class FileFd
    inline bool Eof() {return (Flags & HitEof) == HitEof;};
    inline bool IsCompressed() {return (Flags & Compressed) == Compressed;};
    inline std::string &Name() {return FileName;};
-   
-   FileFd(std::string FileName,unsigned int const Mode,unsigned long AccessMode = 0666) : iFd(-1), Flags(0), d(NULL)
-   {
-      Open(FileName,Mode, None, AccessMode);
-   };
-   FileFd(std::string FileName,unsigned int const Mode, CompressMode Compress, unsigned long AccessMode = 0666) : iFd(-1), Flags(0), d(NULL)
-   {
-      Open(FileName,Mode, Compress, AccessMode);
-   };
-   FileFd() : iFd(-1), Flags(AutoClose), d(NULL) {};
-   FileFd(int const Fd, unsigned int const Mode = ReadWrite, CompressMode Compress = None) : iFd(-1), Flags(0), d(NULL)
-   {
-      OpenDescriptor(Fd, Mode, Compress);
-   };
-   FileFd(int const Fd, bool const AutoClose) : iFd(-1), Flags(0), d(NULL)
-   {
-      OpenDescriptor(Fd, ReadWrite, None, AutoClose);
-   };
+
+   FileFd(std::string FileName,unsigned int const Mode,unsigned long AccessMode = 0666);
+   FileFd(std::string FileName,unsigned int const Mode, CompressMode Compress, unsigned long AccessMode = 0666);
+   FileFd();
+   FileFd(int const Fd, unsigned int const Mode = ReadWrite, CompressMode Compress = None);
+   FileFd(int const Fd, bool const AutoClose);
    virtual ~FileFd();
 
    private:
-   FileFdPrivate* d;
+   FileFdPrivate * d;
+   APT_HIDDEN FileFd & operator=(const FileFd &);
    APT_HIDDEN bool OpenInternDescriptor(unsigned int const Mode, APT::Configuration::Compressor const &compressor);
 
    // private helpers to set Fail flag and call _error->Error
index 05a1376536eadb5038a3838229dde30575ebf6ef..4481321c4e0aad9ff83ae1ec59d0ec6bb07d0b0e 100644 (file)
@@ -277,6 +277,18 @@ public:
    unsigned int CalcHashes;
 
    explicit PrivateHashes(unsigned int const CalcHashes) : FileSize(0), CalcHashes(CalcHashes) {}
+   explicit PrivateHashes(HashStringList const &Hashes) : FileSize(0) {
+      unsigned int calcHashes = Hashes.usable() ? 0 : ~0;
+      if (Hashes.find("MD5Sum") != NULL)
+        calcHashes |= Hashes::MD5SUM;
+      if (Hashes.find("SHA1") != NULL)
+        calcHashes |= Hashes::SHA1SUM;
+      if (Hashes.find("SHA256") != NULL)
+        calcHashes |= Hashes::SHA256SUM;
+      if (Hashes.find("SHA512") != NULL)
+        calcHashes |= Hashes::SHA512SUM;
+      CalcHashes = calcHashes;
+   }
 };
                                                                        /*}}}*/
 // Hashes::Add* - Add the contents of data or FD                       /*{{{*/
@@ -372,19 +384,8 @@ APT_IGNORE_DEPRECATED_POP
    return hashes;
 }
 APT_IGNORE_DEPRECATED_PUSH
-Hashes::Hashes() { d = new PrivateHashes(~0); }
-Hashes::Hashes(unsigned int const Hashes) { d = new PrivateHashes(Hashes); }
-Hashes::Hashes(HashStringList const &Hashes) {
-   unsigned int calcHashes = Hashes.usable() ? 0 : ~0;
-   if (Hashes.find("MD5Sum") != NULL)
-      calcHashes |= MD5SUM;
-   if (Hashes.find("SHA1") != NULL)
-      calcHashes |= SHA1SUM;
-   if (Hashes.find("SHA256") != NULL)
-      calcHashes |= SHA256SUM;
-   if (Hashes.find("SHA512") != NULL)
-      calcHashes |= SHA512SUM;
-   d = new PrivateHashes(calcHashes);
-}
+Hashes::Hashes() : d(new PrivateHashes(~0)) { }
+Hashes::Hashes(unsigned int const Hashes) : d(new PrivateHashes(Hashes)) {}
+Hashes::Hashes(HashStringList const &Hashes) : d(new PrivateHashes(Hashes)) {}
 Hashes::~Hashes() { delete d; }
 APT_IGNORE_DEPRECATED_POP
index e8d84da9e766c69ccd878fe8b4acc444fb85cbbd..0e6ff9ef1b7508a6742d31cf516b8a5be4e809ca 100644 (file)
@@ -182,7 +182,7 @@ class HashStringList
 class PrivateHashes;
 class Hashes
 {
-   PrivateHashes *d;
+   PrivateHashes * const d;
 
    public:
    /* those will disappear in the future as it is hard to add new ones this way.
index 0fffa52b05fc0c66495321d0e6caa24b143673ca..29a9a941c35ab56feac501e6107279be93c1f5e9 100644 (file)
@@ -45,7 +45,7 @@ using std::string;
 // ---------------------------------------------------------------------
 /* */
 debSourcesIndex::debSourcesIndex(IndexTarget const &Target,bool const Trusted) :
-     pkgIndexTargetFile(Target, Trusted)
+     pkgIndexTargetFile(Target, Trusted), d(NULL)
 {
 }
                                                                        /*}}}*/
@@ -84,7 +84,7 @@ pkgSrcRecords::Parser *debSourcesIndex::CreateSrcParser() const
 // ---------------------------------------------------------------------
 /* */
 debPackagesIndex::debPackagesIndex(IndexTarget const &Target, bool const Trusted) :
-                  pkgIndexTargetFile(Target, Trusted)
+                  pkgIndexTargetFile(Target, Trusted), d(NULL)
 {
 }
                                                                        /*}}}*/
@@ -179,7 +179,7 @@ pkgCache::PkgFileIterator debPackagesIndex::FindInCache(pkgCache &Cache) const
 
 // TranslationsIndex::debTranslationsIndex - Contructor                        /*{{{*/
 debTranslationsIndex::debTranslationsIndex(IndexTarget const &Target) :
-                       pkgIndexTargetFile(Target, true)
+                       pkgIndexTargetFile(Target, true), d(NULL)
 {}
                                                                        /*}}}*/
 bool debTranslationsIndex::HasPackages() const                         /*{{{*/
@@ -255,7 +255,7 @@ pkgCache::PkgFileIterator debTranslationsIndex::FindInCache(pkgCache &Cache) con
 // StatusIndex::debStatusIndex - Constructor                           /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-debStatusIndex::debStatusIndex(string File) : pkgIndexFile(true), File(File)
+debStatusIndex::debStatusIndex(string File) : pkgIndexFile(true), d(NULL), File(File)
 {
 }
                                                                        /*}}}*/
@@ -341,7 +341,7 @@ APT_CONST bool debStatusIndex::Exists() const
 
 // debDebPkgFile - Single .deb file                                    /*{{{*/
 debDebPkgFileIndex::debDebPkgFileIndex(std::string DebFile)
-   : pkgIndexFile(true), DebFile(DebFile)
+   : pkgIndexFile(true), d(NULL), DebFile(DebFile)
 {
    DebFileFullPath = flAbsPath(DebFile);
 }
@@ -445,7 +445,7 @@ unsigned long debDebPkgFileIndex::Size() const
 
 // debDscFileIndex stuff
 debDscFileIndex::debDscFileIndex(std::string &DscFile) 
-   : pkgIndexFile(true), DscFile(DscFile)
+   : pkgIndexFile(true), d(NULL), DscFile(DscFile)
 {
 }
 
index 6285a9e5c05433f147d441ea51473974e6912a7c..1de609a7b9ac04e3c67f3cf46b38f06c3cb0bea4 100644 (file)
@@ -29,7 +29,7 @@ class pkgCacheGenerator;
 
 class APT_HIDDEN debStatusIndex : public pkgIndexFile
 {
-   void *d;
+   void * const d;
    protected:
    std::string File;
 
@@ -53,7 +53,7 @@ class APT_HIDDEN debStatusIndex : public pkgIndexFile
 
 class APT_HIDDEN debPackagesIndex : public pkgIndexTargetFile
 {
-   void *d;
+   void * const d;
    public:
 
    virtual const Type *GetType() const APT_CONST;
@@ -72,7 +72,7 @@ class APT_HIDDEN debPackagesIndex : public pkgIndexTargetFile
 
 class APT_HIDDEN debTranslationsIndex : public pkgIndexTargetFile
 {
-   void *d;
+   void * const d;
    public:
 
    virtual const Type *GetType() const APT_CONST;
@@ -88,7 +88,7 @@ class APT_HIDDEN debTranslationsIndex : public pkgIndexTargetFile
 
 class APT_HIDDEN debSourcesIndex : public pkgIndexTargetFile
 {
-   void *d;
+   void * const d;
    public:
 
    virtual const Type *GetType() const APT_CONST;
@@ -110,7 +110,7 @@ class APT_HIDDEN debSourcesIndex : public pkgIndexTargetFile
 class APT_HIDDEN debDebPkgFileIndex : public pkgIndexFile
 {
  private:
-   void *d;
+   void * const d;
    std::string DebFile;
    std::string DebFileFullPath;
 
@@ -148,7 +148,7 @@ class APT_HIDDEN debDebPkgFileIndex : public pkgIndexFile
 class APT_HIDDEN debDscFileIndex : public pkgIndexFile
 {
  private:
-   void *d;
+   void * const d;
    std::string DscFile;
  public:
    virtual const Type *GetType() const APT_CONST;
index c5e77b0ff04cfa62c64dc66d23e235c078d71b7e..4e49e1c78abf85cef98bd4ad5fafb98917b2e986 100644 (file)
@@ -50,7 +50,7 @@ static debListParser::WordList PrioList[] = {
 /* Provide an architecture and only this one and "all" will be accepted
    in Step(), if no Architecture is given we will accept every arch
    we would accept in general with checkArchitecture() */
-debListParser::debListParser(FileFd *File, string const &Arch) : Tags(File),
+debListParser::debListParser(FileFd *File, string const &Arch) :  d(NULL), Tags(File),
                                Arch(Arch) {
    if (Arch == "native")
       this->Arch = _config->Find("APT::Architecture");
index 420d5ff08536ae9c8bb557cf4584d3defb53ce44..3fd040bdd1c6b3c596e734aa24be1c8329a68258 100644 (file)
@@ -39,7 +39,7 @@ class APT_HIDDEN debListParser : public pkgCacheGenerator::ListParser
 
    private:
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    protected:
    pkgTagFile Tags;
index 430a5021b2e07a11d737d15c476b3e187acbf97c..026af077fbb4f48686b7145cf2592a17b6342bbb 100644 (file)
@@ -86,11 +86,11 @@ std::string debReleaseIndex::LocalFileName() const
 }
 
 debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist) :
-                                       metaIndex(URI, Dist, "deb"), Trusted(CHECK_TRUST)
+                                       metaIndex(URI, Dist, "deb"), d(NULL), Trusted(CHECK_TRUST)
 {}
 
 debReleaseIndex::debReleaseIndex(string const &URI, string const &Dist, bool const Trusted) :
-                                       metaIndex(URI, Dist, "deb") {
+                                       metaIndex(URI, Dist, "deb"), d(NULL) {
        SetTrusted(Trusted);
 }
 
@@ -541,7 +541,7 @@ class APT_HIDDEN debSLTypeDebian : public pkgSourceList::Type
 };
 
 debDebFileMetaIndex::debDebFileMetaIndex(std::string const &DebFile)
-   : metaIndex(DebFile, "local-uri", "deb-dist"), DebFile(DebFile)
+   : metaIndex(DebFile, "local-uri", "deb-dist"), d(NULL), DebFile(DebFile)
 {
    DebIndex = new debDebPkgFileIndex(DebFile);
    Indexes = new vector<pkgIndexFile *>();
index f2706e08aac5452b2c8d65a45c18b98c59a3fe64..648c22436d6c292a1c751d0760c8b38d0fed6a71 100644 (file)
@@ -36,7 +36,7 @@ class APT_HIDDEN debReleaseIndex : public metaIndex {
 
    private:
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
    std::map<std::string, std::vector<debSectionEntry const*> > ArchEntries;
    enum APT_HIDDEN { ALWAYS_TRUSTED, NEVER_TRUSTED, CHECK_TRUST } Trusted;
 
@@ -75,7 +75,7 @@ class APT_HIDDEN debReleaseIndex : public metaIndex {
 class APT_HIDDEN debDebFileMetaIndex : public metaIndex
 {
  private:
-    void *d;
+    void * const d;
    std::string DebFile;
    debDebPkgFileIndex *DebIndex;
  public:
index f527042e4988adb5940c1ac49f0061c92523a990..326102d08e2a7b6a1ced59dbe31d7aef226286f0 100644 (file)
@@ -34,7 +34,7 @@ using std::string;
 
 // RecordParser::debRecordParser - Constructor                         /*{{{*/
 debRecordParser::debRecordParser(string FileName,pkgCache &Cache) :
-   debRecordParserBase(), File(FileName, FileFd::ReadOnly, FileFd::Extension),
+   debRecordParserBase(), d(NULL), File(FileName, FileFd::ReadOnly, FileFd::Extension),
    Tags(&File, std::max(Cache.Head().MaxVerFileSize, Cache.Head().MaxDescFileSize) + 200)
 {
 }
@@ -51,7 +51,7 @@ bool debRecordParser::Jump(pkgCache::DescFileIterator const &Desc)
                                                                        /*}}}*/
 debRecordParser::~debRecordParser() {}
 
-debRecordParserBase::debRecordParserBase() : Parser() {}
+debRecordParserBase::debRecordParserBase() : Parser(), d(NULL) {}
 // RecordParserBase::FileName - Return the archive filename on the site        /*{{{*/
 string debRecordParserBase::FileName()
 {
@@ -212,5 +212,5 @@ bool debDebFileRecordParser::Jump(pkgCache::VerFileIterator const &) { return Lo
 bool debDebFileRecordParser::Jump(pkgCache::DescFileIterator const &) { return LoadContent(); }
 std::string debDebFileRecordParser::FileName() { return debFileName; }
 
-debDebFileRecordParser::debDebFileRecordParser(std::string FileName) : debRecordParserBase(), debFileName(FileName) {}
+debDebFileRecordParser::debDebFileRecordParser(std::string FileName) : debRecordParserBase(), d(NULL), debFileName(FileName) {}
 debDebFileRecordParser::~debDebFileRecordParser() {}
index 8efcec8cdbb052c3eb015bb67b83d03a57632648..4d0b713d44275900fc959dc218684dbec62c7635 100644 (file)
@@ -27,7 +27,7 @@
 
 class APT_HIDDEN debRecordParserBase : public pkgRecords::Parser
 {
-   void *d;
+   void * const d;
  protected:
    pkgTagSection Section;
 
@@ -57,7 +57,7 @@ class APT_HIDDEN debRecordParserBase : public pkgRecords::Parser
 
 class APT_HIDDEN debRecordParser : public debRecordParserBase
 {
-   void *d;
+   void * const d;
  protected:
    FileFd File;
    pkgTagFile Tags;
@@ -73,7 +73,7 @@ class APT_HIDDEN debRecordParser : public debRecordParserBase
 // custom record parser that reads deb files directly
 class APT_HIDDEN debDebFileRecordParser : public debRecordParserBase
 {
-   void *d;
+   void * const d;
    std::string debFileName;
    std::string controlContent;
 
index 21a4ff8ea29190dfc5e721e6e530b08ce88af147..9404b64215fee4584d26b358b811d29871aa1324 100644 (file)
@@ -33,7 +33,7 @@ using std::max;
 using std::string;
 
 debSrcRecordParser::debSrcRecordParser(std::string const &File,pkgIndexFile const *Index)
-   : Parser(Index), Fd(File,FileFd::ReadOnly, FileFd::Extension), Tags(&Fd,102400),
+   : Parser(Index), d(NULL), Fd(File,FileFd::ReadOnly, FileFd::Extension), Tags(&Fd,102400),
    iOffset(0), Buffer(NULL) {}
 
 // SrcRecordParser::Binaries - Return the binaries field               /*{{{*/
index 7aeb2db8825bcf8c099ae76e36da5e1b6192a08c..64b07a1eccfc216ee13eab22c6bc737ace545e2f 100644 (file)
@@ -24,7 +24,7 @@ class pkgIndexFile;
 class APT_HIDDEN debSrcRecordParser : public pkgSrcRecords::Parser
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
  protected:
    FileFd Fd;
index 9a5da9da1e8383c2b367b01b10aed912d90301c7..465e13b9eb2f3db700736c785ef7fa40b73eb64c 100644 (file)
@@ -53,11 +53,8 @@ public:
 // System::debSystem - Constructor                                     /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-debSystem::debSystem()
+debSystem::debSystem() : pkgSystem("Debian dpkg interface", &debVS), d(new debSystemPrivate())
 {
-   d = new debSystemPrivate();
-   Label = "Debian dpkg interface";
-   VS = &debVS;
 }
                                                                        /*}}}*/
 // System::~debSystem - Destructor                                     /*{{{*/
index 226cd60bfd91147a9d86c44e4d8277b1171bfcbb..e59bbebed8ac7fe9e45382d4c9dd6e0451408f14 100644 (file)
@@ -28,7 +28,7 @@ class debStatusIndex;
 class debSystem : public pkgSystem
 {
    // private d-pointer
-   debSystemPrivate *d;
+   debSystemPrivate * const d;
    APT_HIDDEN bool CheckUpdates();
 
    public:
index 6ee939edd66ab14aa08d19e170d4bfb51e1a26a5..1991a4a66186a0c035e2097b451fe4e3ef24724f 100644 (file)
@@ -216,10 +216,9 @@ pkgCache::VerIterator FindNowVersion(const pkgCache::PkgIterator &Pkg)
 // DPkgPM::pkgDPkgPM - Constructor                                     /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache) 
-   : pkgPackageManager(Cache), pkgFailures(0), PackagesDone(0), PackagesTotal(0)
+pkgDPkgPM::pkgDPkgPM(pkgDepCache *Cache)
+   : pkgPackageManager(Cache),d(new pkgDPkgPMPrivate()), pkgFailures(0), PackagesDone(0), PackagesTotal(0)
 {
-   d = new pkgDPkgPMPrivate();
 }
                                                                        /*}}}*/
 // DPkgPM::pkgDPkgPM - Destructor                                      /*{{{*/
index 2a6e7e004a24a5ec58e873577d75db22b39c3a97..a1b36c6c008cf1c69255152905d7f92f93d49bd7 100644 (file)
@@ -37,7 +37,7 @@ class pkgDPkgPMPrivate;
 class pkgDPkgPM : public pkgPackageManager
 {
    private:
-   pkgDPkgPMPrivate *d;
+   pkgDPkgPMPrivate * const d;
 
    /** \brief record the disappear action and handle accordingly
 
index 921cbced55f6470fc8b7893966a137ce5fa94657..d01c142239b112cd569640d0fd0a6dd95631d459 100644 (file)
@@ -63,7 +63,7 @@ ConfigValueInSubTree(const char* SubTree, const char *needle)
 }
                                                                        /*}}}*/
 pkgDepCache::ActionGroup::ActionGroup(pkgDepCache &cache) :            /*{{{*/
-  cache(cache), released(false)
+  d(NULL), cache(cache), released(false)
 {
   ++cache.group_level;
 }
@@ -97,7 +97,7 @@ pkgDepCache::ActionGroup::~ActionGroup()
 pkgDepCache::pkgDepCache(pkgCache *pCache,Policy *Plcy) :
   group_level(0), Cache(pCache), PkgState(0), DepState(0),
    iUsrSize(0), iDownloadSize(0), iInstCount(0), iDelCount(0), iKeepCount(0),
-   iBrokenCount(0), iPolicyBrokenCount(0), iBadCount(0)
+   iBrokenCount(0), iPolicyBrokenCount(0), iBadCount(0), d(NULL)
 {
    DebugMarker = _config->FindB("Debug::pkgDepCache::Marker", false);
    DebugAutoInstall = _config->FindB("Debug::pkgDepCache::AutoInstall", false);
index 0594a253d2e1cb0c1fa1a4e058b1c6c2f3d7e1a2..40a2fcaab9db781bdac19f89fb6cd1a4b64a1ed7 100644 (file)
@@ -163,7 +163,7 @@ class pkgDepCache : protected pkgCache::Namespace
     */
    class ActionGroup
    {
-       void *d;
+       void * const d;
        pkgDepCache &cache;
 
        bool released;
@@ -503,7 +503,7 @@ class pkgDepCache : protected pkgCache::Namespace
         bool const rPurge, unsigned long const Depth, bool const FromUser);
 
    private:
-   void *d;
+   void * const d;
 
    APT_HIDDEN bool IsModeChangeOk(ModeList const mode, PkgIterator const &Pkg,
                        unsigned long const Depth, bool const FromUser);
index 5d9383e94a9f35a01232e1e1de7426d73cb2ed36..3bffc27e996156918cc5a47e39e902413ad99698 100644 (file)
@@ -29,7 +29,7 @@
 // edspIndex::edspIndex - Constructor                                  /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-edspIndex::edspIndex(std::string File) : debStatusIndex(File)
+edspIndex::edspIndex(std::string File) : debStatusIndex(File), d(NULL)
 {
 }
                                                                        /*}}}*/
index 0f63b7b2a5a577d8522670e50b600df81086256b..265a016c52e483b178662ed044c0542f74a75fca 100644 (file)
@@ -21,7 +21,7 @@ class pkgCacheGenerator;
 class APT_HIDDEN edspIndex : public debStatusIndex
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    public:
 
index d1c0cf7e8d95a911d7d178f80619e9bd39360508..63f006628d52eee71c0ac44cff245619dda32b64 100644 (file)
@@ -22,7 +22,7 @@
                                                                        /*}}}*/
 
 // ListParser::edspListParser - Constructor                            /*{{{*/
-edspListParser::edspListParser(FileFd *File, std::string const &Arch) : debListParser(File, Arch)
+edspListParser::edspListParser(FileFd *File, std::string const &Arch) : debListParser(File, Arch), d(NULL)
 {}
                                                                        /*}}}*/
 // ListParser::NewVersion - Fill in the version structure              /*{{{*/
index ef5179e68e5bba30a80b45510d59e7ddf8399799..98dde4bf5ae0eac162d56cce0ce6c7d505d987ac 100644 (file)
@@ -27,7 +27,7 @@ class FileFd;
 
 class APT_HIDDEN edspListParser : public debListParser
 {
-   void *d;
+   void * const d;
    public:
    virtual bool NewVersion(pkgCache::VerIterator &Ver);
    virtual std::string Description();
index 063517421fa13b6415f223eaae0072bb270f6a74..4fb34b8963b7f1b21a9f4cca748b8c73b7aef0a2 100644 (file)
 #include <apti18n.h>
                                                                        /*}}}*/
 
-// System::debSystem - Constructor                                     /*{{{*/
-edspSystem::edspSystem()
+// System::edspSystem - Constructor                                    /*{{{*/
+edspSystem::edspSystem() : pkgSystem("Debian APT solver interface", &debVS), d(NULL), StatusFile(NULL)
 {
-   StatusFile = 0;
-
-   Label = "Debian APT solver interface";
-   VS = &debVS;
 }
                                                                        /*}}}*/
 // System::~debSystem - Destructor                                     /*{{{*/
index 1e27d2cb03d983fed5bbae1c1bfb59a307bcfc42..156b02bb5ec77b69c6b8876cd808458a123864a1 100644 (file)
@@ -25,7 +25,7 @@ class edspIndex;
 class APT_HIDDEN edspSystem : public pkgSystem
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    edspIndex *StatusFile;
 
index b0f191deda9cd82f2aa9ac87869e351e9d22b206..6d210e65bc3656a255f793a46b8cdf48a9677812 100644 (file)
@@ -769,14 +769,14 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/
 }
                                                                        /*}}}*/
 
-IndexCopy::IndexCopy() {}
+IndexCopy::IndexCopy() : d(NULL) {}
 APT_CONST IndexCopy::~IndexCopy() {}
 
-PackageCopy::PackageCopy() : IndexCopy() {}
+PackageCopy::PackageCopy() : IndexCopy(), d(NULL) {}
 APT_CONST PackageCopy::~PackageCopy() {}
-SourceCopy::SourceCopy() : IndexCopy() {}
+SourceCopy::SourceCopy() : IndexCopy(), d(NULL) {}
 APT_CONST SourceCopy::~SourceCopy() {}
-TranslationsCopy::TranslationsCopy() {}
+TranslationsCopy::TranslationsCopy() : d(NULL) {}
 APT_CONST TranslationsCopy::~TranslationsCopy() {}
-SigVerify::SigVerify() {}
+SigVerify::SigVerify() : d(NULL) {}
 APT_CONST SigVerify::~SigVerify() {}
index 7ee162542a78a8d1c7274159b2044b9fde387a1b..4f4c471696f0c368ad31b67ae6fb1cd5b02b3388 100644 (file)
@@ -32,7 +32,7 @@ class FileFd;
 class IndexCopy                                                                /*{{{*/
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    protected:
    
@@ -59,7 +59,7 @@ class IndexCopy                                                               /*{{{*/
                                                                        /*}}}*/
 class PackageCopy : public IndexCopy                                   /*{{{*/
 {
-   void *d;
+   void * const d;
    protected:
 
    virtual bool GetFile(std::string &Filename,unsigned long long &Size);
@@ -74,7 +74,7 @@ class PackageCopy : public IndexCopy                                  /*{{{*/
                                                                        /*}}}*/
 class SourceCopy : public IndexCopy                                    /*{{{*/
 {
-   void *d;
+   void * const d;
    protected:
    
    virtual bool GetFile(std::string &Filename,unsigned long long &Size);
@@ -89,7 +89,7 @@ class SourceCopy : public IndexCopy                                   /*{{{*/
                                                                        /*}}}*/
 class TranslationsCopy                                                 /*{{{*/
 {
-   void *d;
+   void * const d;
    protected:
    pkgTagSection *Section;
 
@@ -104,7 +104,7 @@ class TranslationsCopy                                                      /*{{{*/
 class SigVerify                                                                /*{{{*/
 {
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
 
    APT_HIDDEN bool Verify(std::string prefix,std::string file, indexRecords *records);
    APT_HIDDEN bool CopyMetaIndex(std::string CDROM, std::string CDName,
index b3c5cf229449c9e2b93ad1606ae7c4d5dfb06285..e9e1b08c381187adb7c816922238f599fe056bc5 100644 (file)
@@ -53,7 +53,7 @@ pkgIndexFile::Type *pkgIndexFile::Type::GetType(const char *Type)
 }
                                                                        /*}}}*/
 pkgIndexFile::pkgIndexFile(bool Trusted) :                             /*{{{*/
-   Trusted(Trusted)
+   d(NULL), Trusted(Trusted)
 {
 }
                                                                        /*}}}*/
@@ -172,7 +172,7 @@ std::string IndexTarget::Format(std::string format) const           /*{{{*/
                                                                        /*}}}*/
 
 pkgIndexTargetFile::pkgIndexTargetFile(IndexTarget const &Target, bool const Trusted) :/*{{{*/
-   pkgIndexFile(Trusted), Target(Target)
+   pkgIndexFile(Trusted), d(NULL), Target(Target)
 {
 }
                                                                        /*}}}*/
index b6472e201c2761367d222c411a5c1a890fa1eaf9..7eeccdbd357cdc5eb0232295f8a17959ee45e875 100644 (file)
@@ -89,7 +89,7 @@ class IndexTarget                                                     /*{{{*/
 
 class pkgIndexFile
 {
-   void *d;
+   void * const d;
    protected:
    bool Trusted;
 
@@ -150,7 +150,7 @@ class pkgIndexFile
 
 class pkgIndexTargetFile : public pkgIndexFile
 {
-   void *d;
+   void * const d;
 protected:
    IndexTarget const Target;
 
index 3ff0725907a305cb013bf81d7dcbecec76e671b5..683247e4209b9d0f5d5a07f1f55b0f8ba5d1c16b 100644 (file)
@@ -27,7 +27,7 @@ class indexRecords
    private:
    enum APT_HIDDEN { ALWAYS_TRUSTED, NEVER_TRUSTED, CHECK_TRUST } Trusted;
    // dpointer (for later)
-   void * d;
+   void * const d;
 
    protected:
    std::string Dist;
index ee2ef683fed48461e2e7d744028107e880d392b0..ff3f652e5613c19262a507db341042ab9ea2be11 100644 (file)
@@ -65,7 +65,7 @@ bool PackageManager::StatusChanged(std::string /*PackageName*/,
 }
 
 PackageManagerProgressFd::PackageManagerProgressFd(int progress_fd)
-   : StepsDone(0), StepsTotal(1)
+   : d(NULL), StepsDone(0), StepsTotal(1)
 {
    OutStatusFd = progress_fd;
 }
@@ -154,7 +154,7 @@ bool PackageManagerProgressFd::StatusChanged(std::string PackageName,
 
 
 PackageManagerProgressDeb822Fd::PackageManagerProgressDeb822Fd(int progress_fd)
-   : StepsDone(0), StepsTotal(1)
+   : d(NULL), StepsDone(0), StepsTotal(1)
 {
    OutStatusFd = progress_fd;
 }
@@ -235,7 +235,7 @@ bool PackageManagerProgressDeb822Fd::StatusChanged(std::string PackageName,
 
 
 PackageManagerFancy::PackageManagerFancy()
-   : child_pty(-1)
+   : d(NULL), child_pty(-1)
 {
    // setup terminal size
    old_SIGWINCH = signal(SIGWINCH, PackageManagerFancy::staticSIGWINCH);
@@ -435,7 +435,7 @@ bool PackageManagerText::StatusChanged(std::string PackageName,
    return true;
 }
 
-PackageManagerText::PackageManagerText() : PackageManager() {}
+PackageManagerText::PackageManagerText() : PackageManager(), d(NULL) {}
 PackageManagerText::~PackageManagerText() {}
 
 
index 5da3624c07c058aafc25d102ec5b94ccf4b43779..07fc15fd8c45e0081c650d7c5fbcc09ba36b32f9 100644 (file)
@@ -18,7 +18,7 @@ namespace Progress {
  {
  private:
     /** \brief dpointer placeholder */
-    void *d;
+    void * const d;
 
  protected:
     std::string progress_str;
@@ -61,7 +61,7 @@ namespace Progress {
 
  class PackageManagerProgressFd : public PackageManager
  {
-    void *d;
+    void * const d;
  protected:
     int OutStatusFd;
     int StepsDone;
@@ -92,7 +92,7 @@ namespace Progress {
 
  class PackageManagerProgressDeb822Fd : public PackageManager
  {
-    void *d;
+    void * const d;
  protected:
     int OutStatusFd;
     int StepsDone;
@@ -122,7 +122,7 @@ namespace Progress {
 
  class PackageManagerFancy : public PackageManager
  {
-    void *d;
+    void * const d;
  private:
     APT_HIDDEN static void staticSIGWINCH(int);
     static std::vector<PackageManagerFancy*> instances;
@@ -158,7 +158,7 @@ namespace Progress {
 
  class PackageManagerText : public PackageManager
  {
-    void *d;
+    void * const d;
  public:
     virtual bool StatusChanged(std::string PackageName,
                                unsigned int StepsDone,
index 3c1b696bdf78c8a2cdd5daba8b867c6b13d507d1..d9634997467505adb1acbf93741371c31fe4bfec 100644 (file)
@@ -41,7 +41,7 @@ bool metaIndex::Merge(pkgCacheGenerator &Gen,OpProgress *) const
 
 metaIndex::metaIndex(std::string const &URI, std::string const &Dist,
       char const * const Type)
-: Indexes(NULL), Type(Type), URI(URI), Dist(Dist), Trusted(false)
+: d(NULL), Indexes(NULL), Type(Type), URI(URI), Dist(Dist), Trusted(false)
 {
    /* nothing */
 }
index 760c7dd158e93d926fb03311eee235dd3d42b2a5..1bcec1c4ae298fb8003e3234ef1b29c634b1f2a8 100644 (file)
@@ -28,7 +28,7 @@ class OpProgress;
 
 class metaIndex
 {
-   void *d;
+   void * const d;
    protected:
    std::vector <pkgIndexFile *> *Indexes;
    const char *Type;
index a1fcbcc98cd41d63f1247ca1faba934e625930ff..edbdd09ab4088c1b5812416a723d661c21459825 100644 (file)
@@ -86,7 +86,7 @@ pkgOrderList *pkgOrderList::Me = 0;
 // OrderList::pkgOrderList - Constructor                               /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-pkgOrderList::pkgOrderList(pkgDepCache *pCache) : Cache(*pCache),
+pkgOrderList::pkgOrderList(pkgDepCache *pCache) : d(NULL), Cache(*pCache),
                                                  Primary(NULL), Secondary(NULL),
                                                  RevDepends(NULL), Remove(NULL),
                                                  AfterEnd(NULL), FileList(NULL),
index 6d9f45eed16a3329298324b0cef531f9588904e0..7b35b295504e8c3a427650149815be8889d9d42c 100644 (file)
@@ -24,7 +24,7 @@
 class pkgDepCache;
 class pkgOrderList : protected pkgCache::Namespace
 {
-   void *d;
+   void * const d;
    protected:
 
    pkgDepCache &Cache;   
index d137dc75a1c84bd2340d1f993d839f33383c1c4e..016f4474cb7297eb7ff71ae276c40ec7abe49f45 100644 (file)
@@ -45,7 +45,7 @@ bool pkgPackageManager::SigINTStop = false;
 // ---------------------------------------------------------------------
 /* */
 pkgPackageManager::pkgPackageManager(pkgDepCache *pCache) : Cache(*pCache),
-                                                           List(NULL), Res(Incomplete)
+                                                           List(NULL), Res(Incomplete), d(NULL)
 {
    FileNames = new string[Cache.Head().PackageCount];
    Debug = _config->FindB("Debug::pkgPackageManager",false);
index 2cdf92cdd0e96354c13e00111a3beb199dd3cee2..febab26dd6106731210906d8da4526e915508b24 100644 (file)
@@ -145,7 +145,7 @@ class pkgPackageManager : protected pkgCache::Namespace
    virtual ~pkgPackageManager();
 
    private:
-   void *d;
+   void * const d;
    enum APT_HIDDEN SmartAction { UNPACK_IMMEDIATE, UNPACK, CONFIGURE };
    APT_HIDDEN bool NonLoopingSmart(SmartAction const action, pkgCache::PkgIterator &Pkg,
       pkgCache::PkgIterator DepPkg, int const Depth, bool const PkgLoop,
index dc7698edd5c5bbce2ffd295a6f02a98a4fa82334..ae04bc699351ec1d2cdc96aee5c45cec88b82bea 100644 (file)
@@ -122,7 +122,7 @@ bool pkgCache::Header::CheckSizes(Header &Against) const
 // ---------------------------------------------------------------------
 /* */
 APT_IGNORE_DEPRECATED_PUSH
-pkgCache::pkgCache(MMap *Map, bool DoMap) : Map(*Map)
+pkgCache::pkgCache(MMap *Map, bool DoMap) : Map(*Map), d(NULL)
 {
    // call getArchitectures() with cached=false to ensure that the 
    // architectures cache is re-evaulated. this is needed in cases
index b7bf26c2acba67ba136ab15ea17228aaeb731af2..0042eac966f81636243ca9875ff434c9c4faa026 100644 (file)
@@ -271,7 +271,7 @@ class pkgCache                                                              /*{{{*/
    virtual ~pkgCache();
 
 private:
-   void *d;
+   void * const d;
    bool MultiArchEnabled;
    APT_HIDDEN PkgIterator SingleArchFindPkg(const std::string &Name);
 };
index 54e2ef19c07b80c6fbffe445bb872f3377ddc4ad..0eba5795fbf72bbeba2b96d9d594e2c4216ac94e 100644 (file)
@@ -54,7 +54,7 @@ using std::string;
 /* We set the dirty flag and make sure that is written to the disk */
 pkgCacheGenerator::pkgCacheGenerator(DynamicMMap *pMap,OpProgress *Prog) :
                    Map(*pMap), Cache(pMap,false), Progress(Prog),
-                    CurrentRlsFile(NULL), CurrentFile(NULL), FoundFileDeps(0)
+                    CurrentRlsFile(NULL), CurrentFile(NULL), FoundFileDeps(0), d(NULL)
 {
    if (_error->PendingError() == true)
       return;
@@ -1721,5 +1721,5 @@ bool pkgCacheGenerator::FinishCache(OpProgress * /*Progress*/)
 }
                                                                        /*}}}*/
 
-pkgCacheGenerator::ListParser::ListParser() : Owner(NULL), OldDepLast(NULL), FoundFileDeps(false) {}
+pkgCacheGenerator::ListParser::ListParser() : Owner(NULL), OldDepLast(NULL), FoundFileDeps(false), d(NULL) {}
 pkgCacheGenerator::ListParser::~ListParser() {}
index c7b6de1b6b5a62f6f3a22a43ef52a3474a2bd796..c56b5abae6e5dd804175ea8b01ccbfc84b9ba31b 100644 (file)
@@ -125,7 +125,7 @@ class APT_HIDDEN pkgCacheGenerator                                  /*{{{*/
    virtual ~pkgCacheGenerator();
 
    private:
-   void *d;
+   void * const d;
    APT_HIDDEN bool MergeListGroup(ListParser &List, std::string const &GrpName);
    APT_HIDDEN bool MergeListPackage(ListParser &List, pkgCache::PkgIterator &Pkg);
    APT_HIDDEN bool MergeListVersion(ListParser &List, pkgCache::PkgIterator &Pkg,
@@ -152,7 +152,7 @@ class APT_HIDDEN pkgCacheGenerator::ListParser
    // Flag file dependencies
    bool FoundFileDeps;
 
-   void *d;
+   void * const d;
 
    protected:
 
index 87c965f87cc47a79aa671adab83cc9e2c5b42828..ef4c17cd2ec3e602ec8db7ccec4b34a33da74622 100644 (file)
@@ -77,5 +77,5 @@ pkgRecords::Parser &pkgRecords::Lookup(pkgCache::DescFileIterator const &Desc)
 }
                                                                        /*}}}*/
 
-pkgRecords::Parser::Parser() {}
+pkgRecords::Parser::Parser() : d(NULL) {}
 pkgRecords::Parser::~Parser() {}
index 766e845aa5923b85786c98ea633740a6a241be3e..9e10409e47238fd1592b2db797f0603087211f33 100644 (file)
@@ -31,7 +31,7 @@ class pkgRecords                                                      /*{{{*/
    
    private:
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
    
    pkgCache &Cache;
    std::vector<Parser *>Files;
@@ -111,7 +111,7 @@ class pkgRecords::Parser                                            /*{{{*/
    virtual ~Parser();
 
    private:
-   void *d;
+   void * const d;
    APT_HIDDEN std::string GetHashFromHashes(char const * const type) const
    {
       HashStringList const hashes = Hashes();
index 98daeb2b9badf31b47d0e197f8260ecf17d3b614..a6b61e65563fabf174f4316fe902c94814f28e1b 100644 (file)
@@ -27,7 +27,8 @@ unsigned long pkgSystem::GlobalListLen = 0;
 // System::pkgSystem - Constructor                                     /*{{{*/
 // ---------------------------------------------------------------------
 /* Add it to the global list.. */
-pkgSystem::pkgSystem() : Label(NULL), VS(NULL)
+pkgSystem::pkgSystem(char const * const label, pkgVersioningSystem * const vs) :
+   Label(label), VS(vs), d(NULL)
 {
    assert(GlobalListLen < sizeof(SysList)/sizeof(*SysList));
    SysList[GlobalListLen] = this;
index 3a447da8bc318510597bae233f016856f249b83d..5be93d05964c640ffa544608cd9016e4bb955138 100644 (file)
@@ -60,8 +60,8 @@ class pkgSystem
    static unsigned long GlobalListLen;
    static pkgSystem *GetSystem(const char *Label);
    
-   const char *Label;
-   pkgVersioningSystem *VS;
+   const char * const Label;
+   pkgVersioningSystem * const VS;
    
    /* Prevent other programs from touching shared data not covered by
       other locks (cache or state locks) */
@@ -90,11 +90,11 @@ class pkgSystem
    virtual signed Score(Configuration const &/*Cnf*/) {
       return 0;
    };
-   
-   pkgSystem();
+
+   pkgSystem(char const * const Label, pkgVersioningSystem * const VS);
    virtual ~pkgSystem();
    private:
-   void *d;
+   void * const d;
 };
 
 // The environment we are operating in.
index 7947103d58f9b59399839c13a90cbc96d79bfbac..cd48e040cdddb39ad0ee6aeb75245e3baea50f0c 100644 (file)
@@ -45,7 +45,7 @@ using namespace std;
 // ---------------------------------------------------------------------
 /* Set the defaults for operation. The default mode with no loaded policy
    file matches the V0 policy engine. */
-pkgPolicy::pkgPolicy(pkgCache *Owner) : Pins(0), PFPriority(0), Cache(Owner)
+pkgPolicy::pkgPolicy(pkgCache *Owner) : Pins(0), PFPriority(0), Cache(Owner), d(NULL)
 {
    if (Owner == 0)
       return;
index 0d2b468bca768b0f6cde9f274379587ae7524324..58b062a7b516e3c404fa49e807f6f0ca9c4ed5ad 100644 (file)
@@ -88,8 +88,8 @@ class pkgPolicy : public pkgDepCache::Policy
    explicit pkgPolicy(pkgCache *Owner);
    virtual ~pkgPolicy();
    private:
-   pkgCache::VerIterator GetCandidateVerNew(pkgCache::PkgIterator const &Pkg);
-   void *d;
+   APT_HIDDEN pkgCache::VerIterator GetCandidateVerNew(pkgCache::PkgIterator const &Pkg);
+   void * const d;
 };
 
 bool ReadPinFile(pkgPolicy &Plcy, std::string File = "");
index 8b960572bc71b2a7dd989419a5ad11ca93ea1e7f..99b64651390f81ddff9c274b5131bb0c5e87f827 100644 (file)
@@ -236,11 +236,11 @@ bool pkgSourceList::Type::ParseLine(vector<metaIndex *> &List,
 // SourceList::pkgSourceList - Constructors                            /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-pkgSourceList::pkgSourceList()
+pkgSourceList::pkgSourceList() : d(NULL)
 {
 }
 
-pkgSourceList::pkgSourceList(string File)
+pkgSourceList::pkgSourceList(string File) : d(NULL)
 {
    Read(File);
 }
index d9eacc08fbff7d02a5d4a03df4e6f3dba08f59e0..e17ad6a9a67ccba035c15061e138afcfd244e0bf 100644 (file)
@@ -53,7 +53,7 @@ class metaIndex;
 
 class pkgSourceList
 {
-   void *d;
+   void * const d;
    public:
 
    // List of supported source list types
index bbab9d796c2ecf22f2e0f9969cf006f00de3ffe7..e3ffa9ab086d9d666c619e3cb5240ea8fac8a608 100644 (file)
@@ -180,5 +180,5 @@ bool pkgSrcRecords::Parser::Files2(std::vector<pkgSrcRecords::File2> &F2)/*{{{*/
                                                                        /*}}}*/
 
 
-pkgSrcRecords::Parser::Parser(const pkgIndexFile *Index) : iIndex(Index) {}
+pkgSrcRecords::Parser::Parser(const pkgIndexFile *Index) : d(NULL), iIndex(Index) {}
 pkgSrcRecords::Parser::~Parser() {}
index 71173c95354b8a4c757c0df688d3ce9fc37f6c99..f0a3c463acb9a081cecacf470666432e79fc2078 100644 (file)
@@ -48,7 +48,7 @@ APT_IGNORE_DEPRECATED_POP
    // Abstract parser for each source record
    class Parser
    {
-      void *d;
+      void * const d;
       protected:
       
       const pkgIndexFile *iIndex;
@@ -93,7 +93,7 @@ APT_IGNORE_DEPRECATED_POP
    
    private:
    /** \brief dpointer placeholder (for later in case we need it) */
-   void *d;
+   void * const d;
    
    // The list of files and the current parser pointer
    std::vector<Parser*> Files;
index 130aef19d34e7014f4fc592d94ae468aa0dcd2c8..4c5505bf30af0d53506dfba683aef0967cf7656b 100644 (file)
@@ -32,13 +32,22 @@ using std::string;
 class pkgTagFilePrivate
 {
 public:
-   pkgTagFilePrivate(FileFd *pFd, unsigned long long Size) : Fd(*pFd), Buffer(NULL),
-                                                            Start(NULL), End(NULL),
-                                                            Done(false), iOffset(0),
-                                                            Size(Size)
+   void Reset(FileFd * const pFd, unsigned long long const pSize)
    {
+      Fd = pFd;
+      Buffer = NULL;
+      Start = NULL;
+      End = NULL;
+      Done = false;
+      iOffset = 0;
+      Size = pSize;
    }
-   FileFd &Fd;
+
+   pkgTagFilePrivate(FileFd * const pFd, unsigned long long const Size)
+   {
+      Reset(pFd, Size);
+   }
+   FileFd * Fd;
    char *Buffer;
    char *Start;
    char *End;
@@ -83,27 +92,21 @@ static unsigned long AlphaHash(const char *Text, size_t Length)             /*{{{*/
 // TagFile::pkgTagFile - Constructor                                   /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-pkgTagFile::pkgTagFile(FileFd *pFd,unsigned long long Size)
-   : d(NULL)
+pkgTagFile::pkgTagFile(FileFd * const pFd,unsigned long long const Size)
+   : d(new pkgTagFilePrivate(pFd, Size + 4))
 {
    Init(pFd, Size);
 }
-
-void pkgTagFile::Init(FileFd *pFd,unsigned long long Size)
+void pkgTagFile::Init(FileFd * const pFd,unsigned long long Size)
 {
    /* The size is increased by 4 because if we start with the Size of the
       filename we need to try to read 1 char more to see an EOF faster, 1
       char the end-pointer can be on and maybe 2 newlines need to be added
       to the end of the file -> 4 extra chars */
    Size += 4;
-   if(d != NULL)
-   {
-      free(d->Buffer);
-      delete d;
-   }
-   d = new pkgTagFilePrivate(pFd, Size);
+   d->Reset(pFd, Size);
 
-   if (d->Fd.IsOpen() == false)
+   if (d->Fd->IsOpen() == false)
       d->Start = d->End = d->Buffer = 0;
    else
       d->Buffer = (char*)malloc(sizeof(char) * Size);
@@ -184,7 +187,7 @@ bool pkgTagFile::Step(pkgTagSection &Tag)
 
         if (Resize() == false)
            return _error->Error(_("Unable to parse package file %s (%d)"),
-                 d->Fd.Name().c_str(), 1);
+                 d->Fd->Name().c_str(), 1);
 
       } while (Tag.Scan(d->Start,d->End - d->Start, false) == false);
    }
@@ -213,7 +216,7 @@ bool pkgTagFile::Fill()
    {
       // See if only a bit of the file is left
       unsigned long long const dataSize = d->Size - ((d->End - d->Buffer) + 1);
-      if (d->Fd.Read(d->End, dataSize, &Actual) == false)
+      if (d->Fd->Read(d->End, dataSize, &Actual) == false)
         return false;
       if (Actual != dataSize)
         d->Done = true;
@@ -268,7 +271,7 @@ bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long long Offset)
    // Reposition and reload..
    d->iOffset = Offset;
    d->Done = false;
-   if (d->Fd.Seek(Offset) == false)
+   if (d->Fd->Seek(Offset) == false)
       return false;
    d->End = d->Start = d->Buffer;
    
@@ -283,7 +286,7 @@ bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long long Offset)
       return false;
    
    if (Tag.Scan(d->Start, d->End - d->Start, false) == false)
-      return _error->Error(_("Unable to parse package file %s (%d)"),d->Fd.Name().c_str(), 2);
+      return _error->Error(_("Unable to parse package file %s (%d)"),d->Fd->Name().c_str(), 2);
    
    return true;
 }
@@ -293,9 +296,8 @@ bool pkgTagFile::Jump(pkgTagSection &Tag,unsigned long long Offset)
 /* */
 APT_IGNORE_DEPRECATED_PUSH
 pkgTagSection::pkgTagSection()
-   : Section(0), d(NULL), Stop(0)
+   : Section(0), d(new pkgTagSectionPrivate()), Stop(0)
 {
-   d = new pkgTagSectionPrivate();
 #if APT_PKG_ABI < 413
    TagCount = 0;
    memset(&Indexes, 0, sizeof(Indexes));
index 24eda02f75868a5235f19bd0b038d11c7329e9cb..23238d9795682009f20491f951e41fe7f0a2f948 100644 (file)
@@ -46,7 +46,7 @@ class pkgTagSection
    APT_DEPRECATED unsigned int TagCount;
 #endif
 
-   pkgTagSectionPrivate *d;
+   pkgTagSectionPrivate * const d;
 
    protected:
    const char *Stop;
@@ -145,7 +145,7 @@ class pkgTagSection
 class pkgTagFilePrivate;
 class pkgTagFile
 {
-   pkgTagFilePrivate *d;
+   pkgTagFilePrivate * const d;
 
    APT_HIDDEN bool Fill();
    APT_HIDDEN bool Resize();
@@ -157,9 +157,9 @@ class pkgTagFile
    unsigned long Offset();
    bool Jump(pkgTagSection &Tag,unsigned long long Offset);
 
-   void Init(FileFd *F,unsigned long long Size = 32*1024);
+   void Init(FileFd * const F,unsigned long long const Size = 32*1024);
 
-   pkgTagFile(FileFd *F,unsigned long long Size = 32*1024);
+   pkgTagFile(FileFd * const F,unsigned long long Size = 32*1024);
    virtual ~pkgTagFile();
 };