- do not enter solvable data when not in leaf level
authorMichael Schroeder <mls@suse.de>
Mon, 29 Jun 2009 17:19:24 +0000 (19:19 +0200)
committerMichael Schroeder <mls@suse.de>
Mon, 29 Jun 2009 17:19:24 +0000 (19:19 +0200)
src/repodata.c

index 319f9ab..fb88153 100644 (file)
@@ -1069,7 +1069,7 @@ dataiterator_step(Dataiterator *di)
          if (di->repodataid >= 0)
            {
              di->repodataid = 0;       /* reset repodata iterator */
-             if (di->solvid > 0 && !(di->flags & SEARCH_NO_STORAGE_SOLVABLE) && (!di->keyname || (di->keyname >= SOLVABLE_NAME && di->keyname <= RPM_RPMDBID)))
+             if (di->solvid > 0 && !(di->flags & SEARCH_NO_STORAGE_SOLVABLE) && (!di->keyname || (di->keyname >= SOLVABLE_NAME && di->keyname <= RPM_RPMDBID)) && di->nparents == di->nkeynames)
                {
                  di->key = solvablekeys + (di->keyname ? di->keyname - SOLVABLE_NAME : 0);
                  di->data = 0;