summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RPM4/src/RPM4.xs8
1 files changed, 5 insertions, 3 deletions
diff --git a/RPM4/src/RPM4.xs b/RPM4/src/RPM4.xs
index f5fa289..768468d 100644
--- a/RPM4/src/RPM4.xs
+++ b/RPM4/src/RPM4.xs
@@ -1080,12 +1080,14 @@ Header_listtag(h)
Header h
PREINIT:
HeaderIterator iterator;
- int tag;
+ struct rpmtd_s td;
PPCODE:
iterator = headerInitIterator(h);
- while (headerNextIterator(iterator, &tag, NULL, NULL, NULL)) {
- XPUSHs(sv_2mortal(newSViv(tag)));
+ while (headerNext(iterator, &td)) {
+ XPUSHs(sv_2mortal(newSViv(td.tag)));
+ rpmtdFreeData(&td);
}
+ rpmtdFreeData(&td);
headerFreeIterator(iterator);
int