From efe90d43c8de624f771d726d8412bfbc30002afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Tue, 8 Jun 2010 10:24:21 +0300 Subject: state: fix error printing --- src/apk.c | 2 ++ src/state.c | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/apk.c b/src/apk.c index 76c1e4e..2273fa4 100644 --- a/src/apk.c +++ b/src/apk.c @@ -105,6 +105,8 @@ int apk_print_indented(struct apk_indent *i, apk_blob_t blob) if (i->x + blob.len + 1 >= wrap_length) { i->x = i->indent; printf("\n%*s", i->indent - 1, ""); + } else if (i->x+1 < i->indent) { + printf("%*s", i->indent - i->x - 1, ""); } i->x += printf(" %.*s", blob.len, blob.ptr); return 0; diff --git a/src/state.c b/src/state.c index 4dd9c5b..178e4c9 100644 --- a/src/state.c +++ b/src/state.c @@ -41,7 +41,7 @@ static void apk_state_record_conflict(struct apk_state *state, { struct apk_name *name = pkg->name; - state->name[name->id] = (void*) (((intptr_t)state->name[name->id]) | APK_NS_ERROR); + state->name[name->id] = (void*) (((intptr_t) pkg) | APK_NS_ERROR | APK_NS_LOCKED); *apk_package_array_add(&state->conflicts) = pkg; } @@ -314,6 +314,7 @@ int apk_state_prune_dependency(struct apk_state *state, } if (c->num <= 1) { name_choices_unref(c); + state->name[name->id] = ns_from_pkg(NULL); return -1; } @@ -830,8 +831,9 @@ void apk_state_print_errors(struct apk_state *state) apk_error("Unable to satisfy all dependencies:"); es.prevpkg = pkg = state->conflicts->item[i]; - es.indent.x = es.indent.indent = + es.indent.x = printf(" %s-%s:", pkg->name->name, pkg->version); + es.indent.indent = es.indent.x + 1; for (j = 0; j < pkg->depends->num; j++) { r = apk_state_lock_dependency(state, &pkg->depends->item[j]); -- cgit v1.2.3