diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2013-03-22 21:52:42 +0100 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2013-03-22 21:52:42 +0100 |
commit | ba6913111f2ae62ad8066d61240fc43df6b3fb88 (patch) | |
tree | 09bda0492db2ee547b45c61945ac51a2b7f6866b /apt-pkg | |
parent | 6b1e33b5447e50af6bac0b2d260b167b28e3e1fd (diff) | |
parent | 0c98ee5ade6bb660bf23b09d759e0bb3c52068b9 (diff) |
merged lp:~mvo/apt/fix-tagfile-hash
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/tagfile.cc | 9 | ||||
-rw-r--r-- | apt-pkg/tagfile.h | 4 |
2 files changed, 10 insertions, 3 deletions
diff --git a/apt-pkg/tagfile.cc b/apt-pkg/tagfile.cc index 79811899a..1c79ee74f 100644 --- a/apt-pkg/tagfile.cc +++ b/apt-pkg/tagfile.cc @@ -282,10 +282,17 @@ void pkgTagSection::Trim() for (; Stop > Section + 2 && (Stop[-2] == '\n' || Stop[-2] == '\r'); Stop--); } /*}}}*/ +// TagSection::Exists - return True if a tag exists /*{{{*/ +bool pkgTagSection::Exists(const char* const Tag) +{ + unsigned int tmp; + return Find(Tag, tmp); +} + /*}}}*/ // TagSection::Find - Locate a tag /*{{{*/ // --------------------------------------------------------------------- /* This searches the section for a tag that matches the given string. */ -bool pkgTagSection::Find(const char *Tag,unsigned &Pos) const +bool pkgTagSection::Find(const char *Tag,unsigned int &Pos) const { unsigned int Length = strlen(Tag); unsigned int I = AlphaIndexes[AlphaHash(Tag)]; diff --git a/apt-pkg/tagfile.h b/apt-pkg/tagfile.h index fd24471c1..4718f5101 100644 --- a/apt-pkg/tagfile.h +++ b/apt-pkg/tagfile.h @@ -59,7 +59,7 @@ class pkgTagSection inline bool operator !=(const pkgTagSection &rhs) {return Section != rhs.Section;}; bool Find(const char *Tag,const char *&Start, const char *&End) const; - bool Find(const char *Tag,unsigned &Pos) const; + bool Find(const char *Tag,unsigned int &Pos) const; std::string FindS(const char *Tag) const; signed int FindI(const char *Tag,signed long Default = 0) const ; unsigned long long FindULL(const char *Tag, unsigned long long const &Default = 0) const; @@ -73,7 +73,7 @@ class pkgTagSection virtual void TrimRecord(bool BeforeRecord, const char* &End); inline unsigned int Count() const {return TagCount;}; - inline bool Exists(const char* const Tag) {return AlphaIndexes[AlphaHash(Tag)] != 0;} + bool Exists(const char* const Tag); inline void Get(const char *&Start,const char *&Stop,unsigned int I) const {Start = Section + Indexes[I]; Stop = Section + Indexes[I+1];} |