summaryrefslogtreecommitdiff
path: root/apt-pkg/deb
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2015-06-16 16:22:46 +0200
committerDavid Kalnischkies <david@kalnischkies.de>2015-06-16 16:22:46 +0200
commitc8a4ce6cbed57ae108dc955d4a850f9b129a0693 (patch)
tree8e22e692a95f2c4b17de7d0d8f91bf584616a144 /apt-pkg/deb
parent533fe3d13927798c17bdef84eba60ed9441d9608 (diff)
add d-pointer, virtual destructors and de-inline de/constructors
To have a chance to keep the ABI for a while we need all three to team up. One of them missing and we might loose, so ensuring that they are available is a very tedious but needed task once in a while. Git-Dch: Ignore
Diffstat (limited to 'apt-pkg/deb')
-rw-r--r--apt-pkg/deb/debindexfile.cc1
-rw-r--r--apt-pkg/deb/debindexfile.h8
-rw-r--r--apt-pkg/deb/debmetaindex.cc2
-rw-r--r--apt-pkg/deb/debmetaindex.h3
-rw-r--r--apt-pkg/deb/debrecords.cc7
-rw-r--r--apt-pkg/deb/debrecords.h15
-rw-r--r--apt-pkg/deb/debsrcrecords.cc4
-rw-r--r--apt-pkg/deb/debsrcrecords.h4
-rw-r--r--apt-pkg/deb/debversion.h1
9 files changed, 32 insertions, 13 deletions
diff --git a/apt-pkg/deb/debindexfile.cc b/apt-pkg/deb/debindexfile.cc
index 944cbe0bf..0fffa52b0 100644
--- a/apt-pkg/deb/debindexfile.cc
+++ b/apt-pkg/deb/debindexfile.cc
@@ -576,3 +576,4 @@ debTranslationsIndex::~debTranslationsIndex() {}
debSourcesIndex::~debSourcesIndex() {}
debDebPkgFileIndex::~debDebPkgFileIndex() {}
+debDscFileIndex::~debDscFileIndex() {}
diff --git a/apt-pkg/deb/debindexfile.h b/apt-pkg/deb/debindexfile.h
index 6b8c78e5a..6285a9e5c 100644
--- a/apt-pkg/deb/debindexfile.h
+++ b/apt-pkg/deb/debindexfile.h
@@ -1,6 +1,5 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: debindexfile.h,v 1.3.2.1 2003/12/24 23:09:17 mdz Exp $
/* ######################################################################
Debian Index Files
@@ -30,6 +29,7 @@ class pkgCacheGenerator;
class APT_HIDDEN debStatusIndex : public pkgIndexFile
{
+ void *d;
protected:
std::string File;
@@ -53,6 +53,7 @@ class APT_HIDDEN debStatusIndex : public pkgIndexFile
class APT_HIDDEN debPackagesIndex : public pkgIndexTargetFile
{
+ void *d;
public:
virtual const Type *GetType() const APT_CONST;
@@ -71,6 +72,7 @@ class APT_HIDDEN debPackagesIndex : public pkgIndexTargetFile
class APT_HIDDEN debTranslationsIndex : public pkgIndexTargetFile
{
+ void *d;
public:
virtual const Type *GetType() const APT_CONST;
@@ -86,6 +88,7 @@ class APT_HIDDEN debTranslationsIndex : public pkgIndexTargetFile
class APT_HIDDEN debSourcesIndex : public pkgIndexTargetFile
{
+ void *d;
public:
virtual const Type *GetType() const APT_CONST;
@@ -145,6 +148,7 @@ class APT_HIDDEN debDebPkgFileIndex : public pkgIndexFile
class APT_HIDDEN debDscFileIndex : public pkgIndexFile
{
private:
+ void *d;
std::string DscFile;
public:
virtual const Type *GetType() const APT_CONST;
@@ -157,7 +161,7 @@ class APT_HIDDEN debDscFileIndex : public pkgIndexFile
};
debDscFileIndex(std::string &DscFile);
- virtual ~debDscFileIndex() {};
+ virtual ~debDscFileIndex();
};
class APT_HIDDEN debDebianSourceDirIndex : public debDscFileIndex
diff --git a/apt-pkg/deb/debmetaindex.cc b/apt-pkg/deb/debmetaindex.cc
index b328fcea8..34fc98838 100644
--- a/apt-pkg/deb/debmetaindex.cc
+++ b/apt-pkg/deb/debmetaindex.cc
@@ -459,6 +459,8 @@ pkgCache::RlsFileIterator debReleaseIndex::FindInCache(pkgCache &Cache, bool con
}
/*}}}*/
+debDebFileMetaIndex::~debDebFileMetaIndex() {}
+
class APT_HIDDEN debSLTypeDebian : public pkgSourceList::Type
{
protected:
diff --git a/apt-pkg/deb/debmetaindex.h b/apt-pkg/deb/debmetaindex.h
index b448ecc53..f2706e08a 100644
--- a/apt-pkg/deb/debmetaindex.h
+++ b/apt-pkg/deb/debmetaindex.h
@@ -75,6 +75,7 @@ class APT_HIDDEN debReleaseIndex : public metaIndex {
class APT_HIDDEN debDebFileMetaIndex : public metaIndex
{
private:
+ void *d;
std::string DebFile;
debDebPkgFileIndex *DebIndex;
public:
@@ -94,7 +95,7 @@ class APT_HIDDEN debDebFileMetaIndex : public metaIndex
return true;
}
debDebFileMetaIndex(std::string const &DebFile);
- virtual ~debDebFileMetaIndex() {};
+ virtual ~debDebFileMetaIndex();
};
diff --git a/apt-pkg/deb/debrecords.cc b/apt-pkg/deb/debrecords.cc
index 335bcfda0..f527042e4 100644
--- a/apt-pkg/deb/debrecords.cc
+++ b/apt-pkg/deb/debrecords.cc
@@ -51,6 +51,7 @@ bool debRecordParser::Jump(pkgCache::DescFileIterator const &Desc)
/*}}}*/
debRecordParser::~debRecordParser() {}
+debRecordParserBase::debRecordParserBase() : Parser() {}
// RecordParserBase::FileName - Return the archive filename on the site /*{{{*/
string debRecordParserBase::FileName()
{
@@ -207,3 +208,9 @@ bool debDebFileRecordParser::LoadContent()
return _error->Error(_("Unable to parse package file %s (%d)"), debFileName.c_str(), 3);
return true;
}
+bool debDebFileRecordParser::Jump(pkgCache::VerFileIterator const &) { return LoadContent(); }
+bool debDebFileRecordParser::Jump(pkgCache::DescFileIterator const &) { return LoadContent(); }
+std::string debDebFileRecordParser::FileName() { return debFileName; }
+
+debDebFileRecordParser::debDebFileRecordParser(std::string FileName) : debRecordParserBase(), debFileName(FileName) {}
+debDebFileRecordParser::~debDebFileRecordParser() {}
diff --git a/apt-pkg/deb/debrecords.h b/apt-pkg/deb/debrecords.h
index 38e071940..8efcec8cd 100644
--- a/apt-pkg/deb/debrecords.h
+++ b/apt-pkg/deb/debrecords.h
@@ -27,6 +27,7 @@
class APT_HIDDEN debRecordParserBase : public pkgRecords::Parser
{
+ void *d;
protected:
pkgTagSection Section;
@@ -50,12 +51,13 @@ class APT_HIDDEN debRecordParserBase : public pkgRecords::Parser
virtual void GetRec(const char *&Start,const char *&Stop);
- debRecordParserBase() : Parser() {}
+ debRecordParserBase();
virtual ~debRecordParserBase();
};
class APT_HIDDEN debRecordParser : public debRecordParserBase
{
+ void *d;
protected:
FileFd File;
pkgTagFile Tags;
@@ -71,20 +73,21 @@ class APT_HIDDEN debRecordParser : public debRecordParserBase
// custom record parser that reads deb files directly
class APT_HIDDEN debDebFileRecordParser : public debRecordParserBase
{
+ void *d;
std::string debFileName;
std::string controlContent;
APT_HIDDEN bool LoadContent();
protected:
// single file files, so no jumping whatsoever
- bool Jump(pkgCache::VerFileIterator const &) { return LoadContent(); }
- bool Jump(pkgCache::DescFileIterator const &) { return LoadContent(); }
+ bool Jump(pkgCache::VerFileIterator const &);
+ bool Jump(pkgCache::DescFileIterator const &);
public:
- virtual std::string FileName() { return debFileName; }
+ virtual std::string FileName();
- debDebFileRecordParser(std::string FileName)
- : debRecordParserBase(), debFileName(FileName) {};
+ debDebFileRecordParser(std::string FileName);
+ virtual ~debDebFileRecordParser();
};
#endif
diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc
index ca6d09896..21a4ff8ea 100644
--- a/apt-pkg/deb/debsrcrecords.cc
+++ b/apt-pkg/deb/debsrcrecords.cc
@@ -32,6 +32,10 @@
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),
+ iOffset(0), Buffer(NULL) {}
+
// SrcRecordParser::Binaries - Return the binaries field /*{{{*/
// ---------------------------------------------------------------------
/* This member parses the binaries field into a pair of class arrays and
diff --git a/apt-pkg/deb/debsrcrecords.h b/apt-pkg/deb/debsrcrecords.h
index cd246d624..7aeb2db88 100644
--- a/apt-pkg/deb/debsrcrecords.h
+++ b/apt-pkg/deb/debsrcrecords.h
@@ -56,9 +56,7 @@ class APT_HIDDEN debSrcRecordParser : public pkgSrcRecords::Parser
virtual bool Files(std::vector<pkgSrcRecords::File> &F);
bool Files2(std::vector<pkgSrcRecords::File2> &F);
- debSrcRecordParser(std::string const &File,pkgIndexFile const *Index)
- : Parser(Index), Fd(File,FileFd::ReadOnly, FileFd::Extension), Tags(&Fd,102400),
- iOffset(0), Buffer(NULL) {}
+ debSrcRecordParser(std::string const &File,pkgIndexFile const *Index);
virtual ~debSrcRecordParser();
};
diff --git a/apt-pkg/deb/debversion.h b/apt-pkg/deb/debversion.h
index 434ff4a2e..7befe6372 100644
--- a/apt-pkg/deb/debversion.h
+++ b/apt-pkg/deb/debversion.h
@@ -1,6 +1,5 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: debversion.h,v 1.3 2001/05/03 05:25:04 jgg Exp $
/* ######################################################################
Debian Version - Versioning system for Debian