aboutsummaryrefslogtreecommitdiffstats
path: root/URPM.xs
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2013-10-29 18:35:01 +0100
committerThierry Vignaud <thierry.vignaud@gmail.com>2013-11-05 16:54:48 +0100
commit60186cb51922aca5653267183311c019bca00452 (patch)
treed7f908a406374cc06f3026b2c17f6eb07b0b2f86 /URPM.xs
parent92dd30cc83b734128fbdd904ece908799c49b283 (diff)
downloadperl-URPM-60186cb51922aca5653267183311c019bca00452.tar
perl-URPM-60186cb51922aca5653267183311c019bca00452.tar.gz
perl-URPM-60186cb51922aca5653267183311c019bca00452.tar.bz2
perl-URPM-60186cb51922aca5653267183311c019bca00452.tar.xz
perl-URPM-60186cb51922aca5653267183311c019bca00452.zip
$trans->order: add support for "deploops" option
Diffstat (limited to 'URPM.xs')
-rw-r--r--URPM.xs13
1 files changed, 12 insertions, 1 deletions
diff --git a/URPM.xs b/URPM.xs
index 287efbc..12cfa92 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -2601,11 +2601,22 @@ Trans_check(trans, ...)
}
void
-Trans_order(trans)
+Trans_order(trans, ...)
URPM::Transaction trans
PREINIT:
+ rpmtransFlags transFlags = RPMTRANS_FLAG_NONE;
I32 gimme = GIMME_V;
+ int i;
PPCODE:
+ for (i = 1; i < items-1; i+=2) {
+ STRLEN len;
+ char *s = SvPV(ST(i), len);
+
+ if (len == 8 && !memcmp(s, "deploops", 8)) {
+ if (SvIV(ST(i+1))) transFlags |= RPMTRANS_FLAG_DEPLOOPS;
+ }
+ }
+ rpmtsSetFlags(trans->ts, transFlags);
if (rpmtsOrder(trans->ts) == 0) {
if (gimme == G_SCALAR)
mXPUSHs(newSViv(1));