X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/b28fad8f6834fd98481b19d1cf54a2c65e25c6d1..21248c0f00ee71412dbadc6ebf84011cf974346d:/ftparchive/contents.h diff --git a/ftparchive/contents.h b/ftparchive/contents.h index 5b5092b66..953d0d54b 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); 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