summaryrefslogtreecommitdiff
path: root/src/database.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/database.c')
-rw-r--r--src/database.c10
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) {