X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/06f02b954f5c4ca7cb9cc288ea5a8fcb6a1052d4..f107544e43fc3d262d9df5bde6eb430b7008825f:/ftparchive/contents.cc?ds=sidebyside diff --git a/ftparchive/contents.cc b/ftparchive/contents.cc index 3801995bd..b761d9204 100644 --- a/ftparchive/contents.cc +++ b/ftparchive/contents.cc @@ -13,7 +13,7 @@ removing the massive sort time overhead. By breaking all the pathnames into components and storing them - separately a space savings is realized by not duplicating the string + separately a space saving is realized by not duplicating the string over and over again. Ultimately this saving is sacrificed to storage of the tree structure itself but the tree structure yields a speed gain in the sorting and processing. Ultimately it takes about 5 seconds to @@ -314,7 +314,12 @@ bool ContentsExtract::Read(debDebFile &Deb) Compressor = "bzip2"; } if (Member == 0) { - _error->Error(_("Internal error, could not locate member %s"),"data.tar.gz"); + Member = Deb.GotoMember("data.tar.lzma"); + Compressor = "lzma"; + } + if (Member == 0) { + _error->Error(_("Internal error, could not locate member %s"), + "data.tar.{gz,bz2,lzma}"); return false; } @@ -394,7 +399,7 @@ bool ContentsExtract::TakeContents(const void *NewData,unsigned long Length) // ContentsExtract::Add - Read the contents data into the sorter /*{{{*/ // --------------------------------------------------------------------- /* */ -void ContentsExtract::Add(GenContents &Contents,string Package) +void ContentsExtract::Add(GenContents &Contents,string const &Package) { const char *Start = Data; char *Pkg = Contents.Mystrdup(Package.c_str());