diff options
Diffstat (limited to 'RPM4')
-rw-r--r-- | RPM4/src/RPM4.xs | 8 |
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 |