| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- // -*- mode: cpp; mode: fold -*-
- // Description /*{{{*/
- // $Id: debrecords.cc,v 1.4 1999/01/27 02:48:53 jgg Exp $
- /* ######################################################################
-
- Debian Package Records - Parser for debian package records
-
- ##################################################################### */
- /*}}}*/
- // Include Files /*{{{*/
- #ifdef __GNUG__
- #pragma implementation "apt-pkg/debrecords.h"
- #endif
- #include <apt-pkg/debrecords.h>
- #include <apt-pkg/error.h>
- /*}}}*/
- // RecordParser::debRecordParser - Constructor /*{{{*/
- // ---------------------------------------------------------------------
- /* */
- debRecordParser::debRecordParser(FileFd &File) : Tags(File,4*1024)
- {
- }
- /*}}}*/
- // RecordParser::Jump - Jump to a specific record /*{{{*/
- // ---------------------------------------------------------------------
- /* */
- 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");
- }
- /*}}}*/
|