summaryrefslogtreecommitdiffstats
path: root/src/fix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/fix.c')
-rw-r--r--src/fix.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/fix.c b/src/fix.c
index 5c2ff54..f84fbc8 100644
--- a/src/fix.c
+++ b/src/fix.c
@@ -84,14 +84,13 @@ static int fix_main(void *pctx, struct apk_database *db, int argc, char **argv)
name->flags |= APK_NAME_REINSTALL;
}
- for (i = 0; i < argc; i++) {
- r = apk_state_lock_dependency(state, &deps[i]);
- if (r != 0) {
- if (!(apk_flags & APK_FORCE))
- goto err;
- }
- }
- r = apk_state_commit(state, db);
+ for (i = 0; i < argc; i++)
+ r |= apk_state_lock_dependency(state, &deps[i]);
+
+ if (r == 0 || (apk_flags & APK_FORCE))
+ r = apk_state_commit(state, db);
+ else
+ apk_state_print_errors(state);
err:
if (r != 0 && i < argc)
apk_error("Error while processing '%s'", argv[i]);