X-Git-Url: https://git.saurik.com/apt-legacy.git/blobdiff_plain/acdafb440bd086fdb81bd61e03d5c89b057f0f6c..9439ca0e8c0cb2523b756a4675f3fd1c69ce7eac:/apt-pkg/deb/deblistparser.h?ds=sidebyside diff --git a/apt-pkg/deb/deblistparser.h b/apt-pkg/deb/deblistparser.h index a7b7373..bd97f8b 100644 --- a/apt-pkg/deb/deblistparser.h +++ b/apt-pkg/deb/deblistparser.h @@ -33,6 +33,7 @@ class debListParser : public pkgCacheGenerator::ListParser unsigned long iOffset; string Arch; + unsigned long FindTagWrite(const char *Tag); unsigned long UniqFindTagWrite(const char *Tag); bool ParseStatus(pkgCache::PkgIterator Pkg,pkgCache::VerIterator Ver); bool ParseDepends(pkgCache::VerIterator Ver,const char *Tag, @@ -40,9 +41,22 @@ class debListParser : public pkgCacheGenerator::ListParser bool ParseProvides(pkgCache::VerIterator Ver); bool ParseTag(pkgCache::PkgIterator Pkg); static bool GrabWord(string Word,WordList *List,unsigned char &Out); + static bool GrabWord(const srkString &Word,WordList *List,unsigned char &Out); public: + srkString Find(const char *Tag) { + srkString S; + const char *Stop; + if (Section.Find(Tag, S.Start, Stop)) + S.Size = Stop - S.Start; + else { + S.Start = NULL; + S.Size = 0; + } + return S; + } + static unsigned char GetPrio(string Str); // These all operate against the current section @@ -50,6 +64,7 @@ class debListParser : public pkgCacheGenerator::ListParser virtual string Version(); virtual bool NewVersion(pkgCache::VerIterator Ver); virtual string Description(); + void Description(srkString &Str); virtual string DescriptionLanguage(); virtual MD5SumValue Description_md5(); virtual unsigned short VersionHash(); @@ -66,6 +81,9 @@ class debListParser : public pkgCacheGenerator::ListParser static const char *ParseDepends(const char *Start,const char *Stop, string &Package,string &Ver,unsigned int &Op, bool ParseArchFlags = false); + static const char *ParseDepends(const char *Start,const char *Stop, + srkString &Package,srkString &Ver,unsigned int &Op, + bool ParseArchFlags = false); static const char *ConvertRelation(const char *I,unsigned int &Op); debListParser(FileFd *File);