diff options
author | Guillem Jover <guillem@debian.org> | 2014-07-02 03:10:21 +0200 |
---|---|---|
committer | Michael Vogt <mvo@debian.org> | 2014-07-08 10:00:15 +0200 |
commit | 3621b1c70f532c61ccfee6a65c413ee573ed4900 (patch) | |
tree | 7254b6abc754ce96ddbe3cbeb3157c928d7a0c0e /apt-inst/contrib/extracttar.cc | |
parent | 3c09d634b6aef7bbdbc75f38e3969f4b46b0ac0d (diff) |
Fix ar and tar code to be LFS-safe
This is an ABI break.
Closes: #742882
Diffstat (limited to 'apt-inst/contrib/extracttar.cc')
-rw-r--r-- | apt-inst/contrib/extracttar.cc | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/apt-inst/contrib/extracttar.cc b/apt-inst/contrib/extracttar.cc index 0ba3f0521..2c86d0d01 100644 --- a/apt-inst/contrib/extracttar.cc +++ b/apt-inst/contrib/extracttar.cc @@ -60,9 +60,8 @@ struct ExtractTar::TarHeader // ExtractTar::ExtractTar - Constructor /*{{{*/ // --------------------------------------------------------------------- /* */ -ExtractTar::ExtractTar(FileFd &Fd,unsigned long Max,string DecompressionProgram) : File(Fd), - MaxInSize(Max), DecompressProg(DecompressionProgram) - +ExtractTar::ExtractTar(FileFd &Fd,unsigned long long Max,string DecompressionProgram) + : File(Fd), MaxInSize(Max), DecompressProg(DecompressionProgram) { GZPid = -1; Eof = false; @@ -267,7 +266,7 @@ bool ExtractTar::Go(pkgDirStream &Stream) case GNU_LongLink: { - unsigned long Length = Itm.Size; + unsigned long long Length = Itm.Size; unsigned char Block[512]; while (Length > 0) { @@ -286,7 +285,7 @@ bool ExtractTar::Go(pkgDirStream &Stream) case GNU_LongName: { - unsigned long Length = Itm.Size; + unsigned long long Length = Itm.Size; unsigned char Block[512]; while (Length > 0) { @@ -315,11 +314,11 @@ bool ExtractTar::Go(pkgDirStream &Stream) return false; // Copy the file over the FD - unsigned long Size = Itm.Size; + unsigned long long Size = Itm.Size; while (Size != 0) { unsigned char Junk[32*1024]; - unsigned long Read = min(Size,(unsigned long)sizeof(Junk)); + unsigned long Read = min(Size, (unsigned long long)sizeof(Junk)); if (InFd.Read(Junk,((Read+511)/512)*512) == false) return false; |