summaryrefslogtreecommitdiffstats
path: root/RPM4/src/RPM4.xs
diff options
context:
space:
mode:
Diffstat (limited to 'RPM4/src/RPM4.xs')
-rw-r--r--RPM4/src/RPM4.xs12
1 files changed, 8 insertions, 4 deletions
diff --git a/RPM4/src/RPM4.xs b/RPM4/src/RPM4.xs
index 3f252dc..71e23fa 100644
--- a/RPM4/src/RPM4.xs
+++ b/RPM4/src/RPM4.xs
@@ -1957,15 +1957,19 @@ void
Te_files(Te)
rpmte Te
PREINIT:
- rpmfi Files;
+ rpmfiles Files;
+ rpmfi fi;
PPCODE:
- Files = rpmteFI(Te);
- if ((Files = rpmfiInit(Files, 0)) != NULL && rpmfiNext(Files) >= 0) {
- mXPUSHs(sv_setref_pv(newSVpvs(""), bless_rpmfi, Files));
+ Files = rpmteFiles(Te);
+ fi = rpmfilesIter(Files, RPMFI_ITER_FWD);
+ if (fi != NULL && rpmfiNext(fi) >= 0) {
+ mXPUSHs(sv_setref_pv(newSVpvs(""), bless_rpmfi, fi));
#ifdef HDRPMMEM
PRINTF_NEW(bless_rpmfi, Files, Files->nrefs);
#endif
}
+ rpmfiFree(fi);
+ rpmfilesFree(Files);
MODULE = RPM4 PACKAGE = RPM4