summaryrefslogtreecommitdiff
path: root/apt-inst/deb
diff options
context:
space:
mode:
Diffstat (limited to 'apt-inst/deb')
-rw-r--r--apt-inst/deb/debfile.cc8
-rw-r--r--apt-inst/deb/debfile.h12
2 files changed, 18 insertions, 2 deletions
diff --git a/apt-inst/deb/debfile.cc b/apt-inst/deb/debfile.cc
index a63cb6716..a8bf754e4 100644
--- a/apt-inst/deb/debfile.cc
+++ b/apt-inst/deb/debfile.cc
@@ -203,7 +203,11 @@ bool debDebFile::MemControlExtract::DoItem(Item &Itm,int &Fd)
/* Just memcopy the block from the tar extractor and put it in the right
place in the pre-allocated memory block. */
bool debDebFile::MemControlExtract::Process(Item &/*Itm*/,const unsigned char *Data,
+#if APT_PKG_ABI >= 413
+ unsigned long long Size,unsigned long long Pos)
+#else
unsigned long Size,unsigned long Pos)
+#endif
{
memcpy(Control + Pos, Data,Size);
return true;
@@ -232,7 +236,11 @@ bool debDebFile::MemControlExtract::Read(debDebFile &Deb)
// ---------------------------------------------------------------------
/* The given memory block is loaded into the parser and parsed as a control
record. */
+#if APT_PKG_ABI >= 413
+bool debDebFile::MemControlExtract::TakeControl(const void *Data,unsigned long long Size)
+#else
bool debDebFile::MemControlExtract::TakeControl(const void *Data,unsigned long Size)
+#endif
{
delete [] Control;
Control = new char[Size+2];
diff --git a/apt-inst/deb/debfile.h b/apt-inst/deb/debfile.h
index 880bcf6c5..9d286716a 100644
--- a/apt-inst/deb/debfile.h
+++ b/apt-inst/deb/debfile.h
@@ -27,6 +27,7 @@
#include <apt-pkg/arfile.h>
#include <apt-pkg/dirstream.h>
#include <apt-pkg/tagfile.h>
+#include <apt-pkg/macros.h>
#include <string>
@@ -81,13 +82,20 @@ class debDebFile::MemControlExtract : public pkgDirStream
// Members from DirStream
virtual bool DoItem(Item &Itm,int &Fd);
virtual bool Process(Item &Itm,const unsigned char *Data,
+#if APT_PKG_ABI >= 413
+ unsigned long long Size,unsigned long long Pos);
+#else
unsigned long Size,unsigned long Pos);
-
+#endif
// Helpers
bool Read(debDebFile &Deb);
+#if APT_PKG_ABI >= 413
+ bool TakeControl(const void *Data,unsigned long long Size);
+#else
bool TakeControl(const void *Data,unsigned long Size);
-
+#endif
+
MemControlExtract() : IsControl(false), Control(0), Length(0), Member("control") {};
MemControlExtract(std::string Member) : IsControl(false), Control(0), Length(0), Member(Member) {};
~MemControlExtract() {delete [] Control;};