]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/deb/debrecords.cc
Hopefully fixed the scan bug
[apt.git] / apt-pkg / deb / debrecords.cc
index ae0acce1870baf0357b27fc7c86ddefadb3a57ee..e06533e19b897593e73f48f6ec9caa5559a4e5cc 100644 (file)
@@ -1,6 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
 // Description                                                         /*{{{*/
-// $Id: debrecords.cc,v 1.1 1998/08/09 00:51:36 jgg Exp $
+// $Id: debrecords.cc,v 1.4 1999/01/27 02:48:53 jgg Exp $
 /* ######################################################################
    
    Debian Package Records - Parser for debian package records
@@ -25,8 +25,64 @@ debRecordParser::debRecordParser(FileFd &File) : Tags(File,4*1024)
 // RecordParser::Jump - Jump to a specific record                      /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-bool debRecordParser::Jump(pkgCache::VerFileIterator &Ver)
+bool debRecordParser::Jump(pkgCache::VerFileIterator const &Ver)
 {
    return Tags.Jump(Section,Ver->Offset);
 }
                                                                        /*}}}*/
+// RecordParser::FindTag - Locate a tag and return a string            /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::FindTag(const char *Tag)
+{
+   const char *Start;
+   const char *Stop;
+   if (Section.Find(Tag,Start,Stop) == false)
+      return string();
+   return string(Start,Stop - Start);
+}
+                                                                       /*}}}*/
+// RecordParser::FileName - Return the archive filename on the site    /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::FileName()
+{
+   return FindTag("Filename");
+}
+                                                                       /*}}}*/
+// RecordParser::MD5Hash - Return the archive hash                     /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::MD5Hash()
+{
+   return FindTag("MD5sum");
+}
+                                                                       /*}}}*/
+// RecordParser::Maintainer - Return the maintainer email              /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::Maintainer()
+{
+   return FindTag("Maintainer");
+}
+                                                                       /*}}}*/
+// RecordParser::ShortDesc - Return a 1 line description               /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::ShortDesc()
+{
+   string Res = FindTag("Description");
+   string::size_type Pos = Res.find('\n');
+   if (Pos == string::npos)
+      return Res;
+   return string(Res,0,Pos);
+}
+                                                                       /*}}}*/
+// RecordParser::LongDesc - Return a longer description                        /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string debRecordParser::LongDesc()
+{
+   return FindTag("Description");
+}
+                                                                       /*}}}*/