diff options
author | Michael Vogt <mvo@ubuntu.com> | 2014-06-10 19:00:41 +0200 |
---|---|---|
committer | Michael Vogt <mvo@ubuntu.com> | 2014-06-10 19:00:41 +0200 |
commit | afaeea148553439684e6091f282bf5a4ee5c00d6 (patch) | |
tree | 9de4549d414a78bed64a2a20f7941695c7d6c4df /apt-pkg/srcrecords.cc | |
parent | b4278cc96fa0184b4f522e2bcfe82bd8eba93595 (diff) | |
parent | eea0f3a6197dba565c5df349ed06c0a70b49b77f (diff) |
Merge branch 'debian/sid' into ubuntu/master1.0.4ubuntu1
Conflicts:
configure.ac
debian/changelog
Diffstat (limited to 'apt-pkg/srcrecords.cc')
-rw-r--r-- | apt-pkg/srcrecords.cc | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc index 775cf2e5f..81b1c545d 100644 --- a/apt-pkg/srcrecords.cc +++ b/apt-pkg/srcrecords.cc @@ -81,6 +81,27 @@ bool pkgSrcRecords::Restart() return true; } /*}}}*/ +// SrcRecords::Step - Step to the next Source Record /*{{{*/ +// --------------------------------------------------------------------- +/* Step to the next source package record */ +const pkgSrcRecords::Parser* pkgSrcRecords::Step() +{ + if (Current == Files.end()) + return 0; + + // Step to the next record, possibly switching files + while ((*Current)->Step() == false) + { + if (_error->PendingError() == true) + return 0; + ++Current; + if (Current == Files.end()) + return 0; + } + + return *Current; +} + /*}}}*/ // SrcRecords::Find - Find the first source package with the given name /*{{{*/ // --------------------------------------------------------------------- /* This searches on both source package names and output binary names and @@ -88,21 +109,11 @@ bool pkgSrcRecords::Restart() function to be called multiple times to get successive entries */ pkgSrcRecords::Parser *pkgSrcRecords::Find(const char *Package,bool const &SrcOnly) { - if (Current == Files.end()) - return 0; - while (true) { - // Step to the next record, possibly switching files - while ((*Current)->Step() == false) - { - if (_error->PendingError() == true) - return 0; - ++Current; - if (Current == Files.end()) - return 0; - } - + if(Step() == 0) + return 0; + // IO error somehow if (_error->PendingError() == true) return 0; |