From 27c2c6731eab4d317e285e91edab2e49f33f5be4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=98yvind=20Karlsen?= Date: Sun, 3 Oct 2010 04:31:57 +0000 Subject: always print any errors reported with rpmtsProblems() in Trans_check() --- URPM.xs | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) (limited to 'URPM.xs') diff --git a/URPM.xs b/URPM.xs index 011770b..2ea5fe6 100644 --- a/URPM.xs +++ b/URPM.xs @@ -3174,7 +3174,7 @@ Trans_check(trans, ...) PREINIT: I32 gimme = GIMME_V; int translate_message = 0; - int i; + int i, r; PPCODE: for (i = 1; i < items-1; i+=2) { STRLEN len; @@ -3184,28 +3184,24 @@ Trans_check(trans, ...) translate_message = SvIV(ST(i+1)); } } - if (rpmtsCheck(trans->ts)) { + r = rpmtsCheck(trans->ts); + rpmps ps = rpmtsProblems(trans->ts); + if (rpmpsNumProblems(ps) > 0) { if (gimme == G_SCALAR) { XPUSHs(sv_2mortal(newSViv(0))); } else if (gimme == G_ARRAY) { - XPUSHs(sv_2mortal(newSVpv("error while checking dependencies", 0))); - } - } else { - rpmps ps = rpmtsProblems(trans->ts); - if (rpmpsNumProblems(ps) > 0) { - if (gimme == G_SCALAR) { - XPUSHs(sv_2mortal(newSViv(0))); - } else if (gimme == G_ARRAY) { - /* now translation is handled by rpmlib, but only for version 4.2 and above */ - PUTBACK; - return_problems(ps, 1, 0); - SPAGAIN; - } - } else if (gimme == G_SCALAR) { - XPUSHs(sv_2mortal(newSViv(1))); + /* now translation is handled by rpmlib, but only for version 4.2 and above */ + PUTBACK; + return_problems(ps, 1, 0); + SPAGAIN; } - ps = rpmpsFree(ps); + } else if (gimme == G_SCALAR) { + XPUSHs(sv_2mortal(newSViv(1))); } + if(r == 1) + XPUSHs(sv_2mortal(newSVpv("error while checking dependencies", 0))); + + ps = rpmpsFree(ps); void Trans_order(trans) -- cgit v1.2.1