aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPer Øyvind Karlsen <peroyvind@mandriva.org>2011-07-05 19:32:13 +0000
committerPer Øyvind Karlsen <peroyvind@mandriva.org>2011-07-05 19:32:13 +0000
commit1711ca52ab9ae2be527a2338af0debf96f6e341d (patch)
tree32e954f3bd85e9539d6b6040b20fa375a826f73a
parent5e47d4507a2ae4d59ab6095c048890079d503858 (diff)
downloadperl-URPM-1711ca52ab9ae2be527a2338af0debf96f6e341d.tar
perl-URPM-1711ca52ab9ae2be527a2338af0debf96f6e341d.tar.gz
perl-URPM-1711ca52ab9ae2be527a2338af0debf96f6e341d.tar.bz2
perl-URPM-1711ca52ab9ae2be527a2338af0debf96f6e341d.tar.xz
perl-URPM-1711ca52ab9ae2be527a2338af0debf96f6e341d.zip
fix a regression breaking promotion of dependencies on conflicts
-rw-r--r--NEWS6
-rw-r--r--URPM.xs7
2 files changed, 9 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index 297c364..c59490c 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,8 @@
-Version 4.34 - 23 June 2011, by Per Øyvid Karlsen
+Version 4.35 - 5 July 2011, by Per Øyvind Karlsen
+
+- fix a regression breaking promotion of dependencies on conflicts
+
+Version 4.34 - 23 June 2011, by Per Øyvind Karlsen
- add a workaround for handling upgrade from older berkeley db versions which
might not support new configuration in DB_CONFIG, causing it to break during
diff --git a/URPM.xs b/URPM.xs
index 7536b2a..a0e5210 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -574,7 +574,7 @@ return_list_str(char *s, Header header, rpmTag tag_name, rpmTag tag_flags, rpmTa
const char **list = he->p.argv;
rpmsenseFlags *flags = NULL;
const char **list_evr = NULL;
- int count = he->c;
+ int c = he->c;
if (tag_flags) {
he->tag = tag_flags;
@@ -586,14 +586,15 @@ return_list_str(char *s, Header header, rpmTag tag_name, rpmTag tag_flags, rpmTa
if (headerGet(header, he, 0))
list_evr = he->p.argv;
}
- for (he->ix = 0; he->ix < count; he->ix++) {
+ for (he->ix = 0; he->ix < c; he->ix++) {
+ ++count;
if (f(NULL, 0, list[he->ix], flags ? flags[he->ix] : 0,
list_evr ? list_evr[he->ix] : NULL,
param)) {
list = _free(list);
if (tag_flags) flags = _free(flags);
if (tag_version) list_evr = _free(list_evr);
- return -he->ix;
+ return (int)-count;
}
}
list = _free(list);