X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b9dacd11a4707092f070d49b1cb1acff642eebf0..4cdc3bf0e24a74b0af45e1cbabfcaebd9d0c3318:/ftparchive/contents.h?ds=inline diff --git a/ftparchive/contents.h b/ftparchive/contents.h index 5b5092b66..bc691d473 100644 --- a/ftparchive/contents.h +++ b/ftparchive/contents.h @@ -9,12 +9,16 @@ /*}}}*/ #ifndef CONTENTS_H #define CONTENTS_H - -#include -#include -#include + #include +#include +#include +#include + +class debDebFile; +class FileFd; + class GenContents { struct Node @@ -51,14 +55,14 @@ class GenContents unsigned long NodeLeft; Node *Grab(Node *Top,const char *Name,const char *Package); - void WriteSpace(FILE *Out,unsigned int Current,unsigned int Target); - void DoPrint(FILE *Out,Node *Top, char *Buf); + void WriteSpace(std::string &out, size_t Current, size_t Target); + void DoPrint(FileFd &Out,Node *Top, char *Buf); public: char *Mystrdup(const char *From); void Add(const char *Dir,const char *Package); - void Print(FILE *Out); + void Print(FileFd &Out); GenContents() : BlockList(0), StrPool(0), StrLeft(0), NodePool(0), NodeLeft(0) {}; @@ -71,19 +75,19 @@ class ContentsExtract : public pkgDirStream // The Data Block char *Data; - unsigned long MaxSize; - unsigned long CurSize; + unsigned long long MaxSize; + unsigned long long CurSize; void AddData(const char *Text); bool Read(debDebFile &Deb); - virtual bool DoItem(Item &Itm,int &Fd); + virtual bool DoItem(Item &Itm,int &Fd) APT_OVERRIDE; void Reset() {CurSize = 0;}; - bool TakeContents(const void *Data,unsigned long Length); - void Add(GenContents &Contents,string const &Package); + bool TakeContents(const void *Data,unsigned long long Length); + void Add(GenContents &Contents,std::string const &Package); - ContentsExtract() : Data(0), MaxSize(0), CurSize(0) {}; - virtual ~ContentsExtract() {delete [] Data;}; + ContentsExtract(); + virtual ~ContentsExtract(); }; #endif