// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: fileutl.cc,v 1.14 1998/11/23 07:03:06 jgg Exp $
+// $Id: fileutl.cc,v 1.15 1998/11/27 01:14:08 jgg Exp $
/* ######################################################################
File Utilities
// FileFd::Write - Write to the file /*{{{*/
// ---------------------------------------------------------------------
/* */
-bool FileFd::Write(void *From,unsigned long Size)
+bool FileFd::Write(const void *From,unsigned long Size)
{
if (write(iFd,From,Size) != (signed)Size)
{
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: fileutl.h,v 1.9 1998/11/23 07:03:07 jgg Exp $
+// $Id: fileutl.h,v 1.10 1998/11/27 01:14:09 jgg Exp $
/* ######################################################################
File Utilities
enum OpenMode {ReadOnly,WriteEmpty,WriteExists,WriteAny};
bool Read(void *To,unsigned long Size);
- bool Write(void *From,unsigned long Size);
+ bool Write(const void *From,unsigned long Size);
bool Seek(unsigned long To);
unsigned long Size();
bool Close();
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: tagfile.cc,v 1.14 1998/11/13 04:23:36 jgg Exp $
+// $Id: tagfile.cc,v 1.15 1998/11/27 01:14:06 jgg Exp $
/* ######################################################################
Fast scanner for RFC-822 type header information
return false;
}
/*}}}*/
+// pkgTagSection::FindS - Find a string /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string pkgTagSection::FindS(const char *Tag)
+{
+ const char *Start;
+ const char *End;
+ if (Find(Tag,Start,End) == false)
+ return string();
+ return string(Start,End);
+}
+ /*}}}*/
+// TagSection::FindI - Find an integer /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+unsigned int pkgTagSection::FindI(const char *Tag)
+{
+ const char *Start;
+ const char *End;
+ if (Find(Tag,Start,End) == false)
+ return 0;
+
+ return atoi(string(Start,End).c_str());
+}
+ /*}}}*/
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: tagfile.h,v 1.9 1998/08/26 04:52:24 jgg Exp $
+// $Id: tagfile.h,v 1.10 1998/11/27 01:14:07 jgg Exp $
/* ######################################################################
Fast scanner for RFC-822 type header information
inline bool operator !=(const pkgTagSection &rhs) {return Section != rhs.Section;};
bool Find(const char *Tag,const char *&Start, const char *&End);
+ string FindS(const char *Tag);
+ unsigned int FindI(const char *Tag);
bool Scan(const char *Start,unsigned long MaxLength);
inline unsigned long size() {return Stop - Section;};
-
+
+ inline void GetSection(const char *&Start,const char *&Stop)
+ {
+ Start = Section;
+ Stop = this->Stop;
+ };
+
pkgTagSection() : Section(0), Stop(0) {};
};