X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/e7f56293f029505f59670be2bad244f6d9912369..8c782efd93342c6119e8ba2ff6989b7a164b7f3d:/apt-inst/deb/debfile.cc diff --git a/apt-inst/deb/debfile.cc b/apt-inst/deb/debfile.cc index a811bbe88..4853a13c7 100644 --- a/apt-inst/deb/debfile.cc +++ b/apt-inst/deb/debfile.cc @@ -21,11 +21,17 @@ #include #include #include -#include #include - +#include +#include +#include +#include + +#include +#include +#include #include -#include + #include /*}}}*/ @@ -118,8 +124,10 @@ bool debDebFile::ExtractTarMember(pkgDirStream &Stream,const char *Name) { std::string ext = std::string(Name) + ".{"; for (std::vector::const_iterator c = compressor.begin(); - c != compressor.end(); ++c) - ext.append(c->Extension.substr(1)); + c != compressor.end(); ++c) { + if (!c->Extension.empty()) + ext.append(c->Extension.substr(1)); + } ext.append("}"); return _error->Error(_("Internal error, could not locate member %s"), ext.c_str()); } @@ -194,8 +202,8 @@ 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, - unsigned long Size,unsigned long Pos) +bool debDebFile::MemControlExtract::Process(Item &/*Itm*/,const unsigned char *Data, + unsigned long long Size,unsigned long long Pos) { memcpy(Control + Pos, Data,Size); return true; @@ -224,7 +232,7 @@ bool debDebFile::MemControlExtract::Read(debDebFile &Deb) // --------------------------------------------------------------------- /* The given memory block is loaded into the parser and parsed as a control record. */ -bool debDebFile::MemControlExtract::TakeControl(const void *Data,unsigned long Size) +bool debDebFile::MemControlExtract::TakeControl(const void *Data,unsigned long long Size) { delete [] Control; Control = new char[Size+2];