]> git.saurik.com Git - apt.git/blobdiff - ftparchive/contents.h
Correctly report write errors when flushing buffered writer
[apt.git] / ftparchive / contents.h
index dbbb83350c8aa7913174f6d4691e0aa7e1138204..bc691d473fa684d903cfe2dc157277ae29fae839 100644 (file)
@@ -17,6 +17,7 @@
 #include <string>
 
 class debDebFile;
+class FileFd;
 
 class GenContents
 {
@@ -54,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) {};
@@ -80,13 +81,13 @@ class ContentsExtract : public pkgDirStream
    
    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 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