]> git.saurik.com Git - apt.git/commitdiff
don't count each Type as an individual deb822-sources stanza
authorDavid Kalnischkies <david@kalnischkies.de>
Wed, 17 Aug 2016 18:35:47 +0000 (20:35 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Wed, 17 Aug 2016 18:35:47 +0000 (20:35 +0200)
Reported-By: Mattia Rizzolo <mattia@debian.org> in #834629
apt-pkg/sourcelist.cc

index f4a84cc9b7bf6850c49bd5bd25c41074616e484c..cfd824978665686b7ad7c896e03db683bf4ee484 100644 (file)
@@ -423,18 +423,18 @@ bool pkgSourceList::ParseFileOldStyle(std::string const &File)
 /* Returns: the number of stanzas parsed*/
 bool pkgSourceList::ParseFileDeb822(string const &File)
 {
-   unsigned int i = 1;
-
    // see if we can read the file
    FileFd Fd(File, FileFd::ReadOnly);
    pkgTagFile Sources(&Fd, pkgTagFile::SUPPORT_COMMENTS);
    if (Fd.IsOpen() == false || Fd.Failed())
-      return _error->Error(_("Malformed stanza %u in source list %s (type)"),i,File.c_str());
+      return _error->Error(_("Malformed stanza %u in source list %s (type)"),0,File.c_str());
 
    // read step by step
    pkgTagSection Tags;
+   unsigned int i = 0;
    while (Sources.Step(Tags) == true)
    {
+      ++i;
       if(Tags.Exists("Types") == false)
         return _error->Error(_("Malformed stanza %u in source list %s (type)"),i,File.c_str());
 
@@ -452,8 +452,6 @@ bool pkgSourceList::ParseFileDeb822(string const &File)
 
          if (!Parse->ParseStanza(SrcList, Tags, i, Fd))
             return false;
-
-         ++i;
       }
    }
    return true;