diff options
Diffstat (limited to 'src/database.c')
-rw-r--r-- | src/database.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/database.c b/src/database.c index 1c6ae9e..5118f5c 100644 --- a/src/database.c +++ b/src/database.c @@ -581,13 +581,9 @@ int apk_db_index_read(struct apk_database *db, struct apk_bstream *bs, int repo) /* If no package, create new */ if (pkg == NULL) { pkg = apk_pkg_new(); + ipkg = NULL; diri = NULL; file_diri_node = NULL; - - if (repo == -1) { - ipkg = apk_pkg_install(db, pkg); - diri_node = hlist_tail_ptr(&ipkg->owned_dirs); - } } /* Standard index line? */ @@ -598,6 +594,10 @@ int apk_db_index_read(struct apk_database *db, struct apk_bstream *bs, int repo) apk_error("Invalid index entry '%c'", field); return -1; } + if (ipkg == NULL) { + ipkg = apk_pkg_install(db, pkg); + diri_node = hlist_tail_ptr(&ipkg->owned_dirs); + } /* Check FDB special entries */ switch (field) { |