From 9dc60e8d1cb651617b13d1e63974a1a515021987 Mon Sep 17 00:00:00 2001 From: Timo Teras Date: Wed, 22 Jul 2009 16:11:21 +0300 Subject: [PATCH] state: commit fdb changes even on error we might have done already something. --- src/state.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/state.c b/src/state.c index 44649de..c342c2f 100644 --- a/src/state.c +++ b/src/state.c @@ -690,6 +690,7 @@ int apk_state_commit(struct apk_state *state, } /* Go through changes */ + r = 0; list_for_each_entry(change, &state->change_list_head, change_list) { apk_print_change(db, change->oldpkg, change->newpkg); prog.pkg = change->newpkg; @@ -700,7 +701,7 @@ int apk_state_commit(struct apk_state *state, (apk_flags & APK_PROGRESS) ? progress_cb : NULL, &prog); if (r != 0) - return r; + break; } apk_count_change(change, &prog.done); @@ -708,13 +709,14 @@ int apk_state_commit(struct apk_state *state, if (apk_flags & APK_PROGRESS) apk_draw_progress(20, 1); - if (!(apk_flags & APK_SIMULATE)) + if (!(apk_flags & APK_SIMULATE) && prog.done.packages != 0) apk_db_write_config(db); - apk_message("OK: %d packages, %d dirs, %d files", - db->installed.stats.packages, - db->installed.stats.dirs, - db->installed.stats.files); + if (r != 0) + apk_message("OK: %d packages, %d dirs, %d files", + db->installed.stats.packages, + db->installed.stats.dirs, + db->installed.stats.files); - return 0; + return r; }