aboutsummaryrefslogtreecommitdiffstats
path: root/URPM.xs
diff options
context:
space:
mode:
authorPer Øyvind Karlsen <peroyvind@mandriva.org>2011-04-23 21:45:04 +0000
committerPer Øyvind Karlsen <peroyvind@mandriva.org>2011-04-23 21:45:04 +0000
commitce3b4170d49d30df70b807b91c5d5253aabf0598 (patch)
tree7e8477547ce1edac215b5476de1e70c27d66c25e /URPM.xs
parentdaab2741d4608c5a8896efd2d12e67773793712f (diff)
downloadperl-URPM-ce3b4170d49d30df70b807b91c5d5253aabf0598.tar
perl-URPM-ce3b4170d49d30df70b807b91c5d5253aabf0598.tar.gz
perl-URPM-ce3b4170d49d30df70b807b91c5d5253aabf0598.tar.bz2
perl-URPM-ce3b4170d49d30df70b807b91c5d5253aabf0598.tar.xz
perl-URPM-ce3b4170d49d30df70b807b91c5d5253aabf0598.zip
fix provide flags not being loaded for headers read from rpm files
Diffstat (limited to 'URPM.xs')
-rw-r--r--URPM.xs8
1 files changed, 3 insertions, 5 deletions
diff --git a/URPM.xs b/URPM.xs
index 159b080..798ca1b 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -1148,13 +1148,11 @@ update_provides(URPM__Package pkg, HV *provides) {
const char **list = he->p.argv;
he->tag = RPMTAG_PROVIDEFLAGS;
- if (headerGet(pkg->h, he, 0)) {
- HE_t he_flags = memset(alloca(sizeof(*he_flags)), 0, sizeof(*he_flags));
- flags = (rpmsenseFlags*)he_flags->p.ui32p;
- }
+ if (headerGet(pkg->h, he, 0))
+ flags = (rpmsenseFlags*)he->p.ui32p;
for (he->ix = 0; he->ix < (int)he->c; he->ix++) {
len = strlen(list[he->ix]);
- update_provide_entry(list[he->ix], len, 1, flags && flags[he->ix] & (RPMSENSE_PREREQ|RPMSENSE_TRIGGER),
+ update_provide_entry(list[he->ix], len, 1, flags && (flags[he->ix] & (RPMSENSE_PREREQ|RPMSENSE_TRIGGER)),
pkg, provides);
}
flags = _free(flags);