summaryrefslogtreecommitdiffstats
path: root/RPM4/src/RPM4.xs
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2022-04-29 11:04:38 +0200
committerThierry Vignaud <thierry.vignaud@gmail.com>2022-04-29 13:15:14 +0200
commit1bc61ee3959a47013be5b12a902e4ba575fa2aaa (patch)
tree628642163f28e11e781ceade32ecb82fa0800f4f /RPM4/src/RPM4.xs
parent94eed1e1b4bc848d7646b60dc8d425d7ee30c052 (diff)
downloadperl-RPM4-1bc61ee3959a47013be5b12a902e4ba575fa2aaa.tar
perl-RPM4-1bc61ee3959a47013be5b12a902e4ba575fa2aaa.tar.gz
perl-RPM4-1bc61ee3959a47013be5b12a902e4ba575fa2aaa.tar.bz2
perl-RPM4-1bc61ee3959a47013be5b12a902e4ba575fa2aaa.tar.xz
perl-RPM4-1bc61ee3959a47013be5b12a902e4ba575fa2aaa.zip
(Te_files) make it compile again with rpm < 4.12
Technically the old code would compile up to 4.18 but: - rpmteFI() has been obsoleted in 4.12 - it segfaults (see next commit) whereas new code path works in 4.18
Diffstat (limited to 'RPM4/src/RPM4.xs')
-rw-r--r--RPM4/src/RPM4.xs9
1 files changed, 9 insertions, 0 deletions
diff --git a/RPM4/src/RPM4.xs b/RPM4/src/RPM4.xs
index dbbbd28..5000e7e 100644
--- a/RPM4/src/RPM4.xs
+++ b/RPM4/src/RPM4.xs
@@ -1957,18 +1957,27 @@ void
Te_files(Te)
rpmte Te
PREINIT:
+#if defined(RPM4_12_0)
rpmfiles Files;
+#endif
rpmfi fi;
PPCODE:
+#if defined(RPM4_12_0)
Files = rpmteFiles(Te);
fi = rpmfilesIter(Files, RPMFI_ITER_FWD);
if (fi != NULL && rpmfiNext(fi) >= 0) {
+#else
+ fi = rpmteFI(Te);
+ if ((fi = rpmfiInit(fi, 0)) != NULL && rpmfiNext(fi) >= 0) {
+#endif
mXPUSHs(sv_setref_pv(newSVpvs(""), bless_rpmfi, fi));
#ifdef HDRPMMEM
PRINTF_NEW(bless_rpmfi, Files, Files->nrefs);
#endif
}
+#if defined(RPM4_12_0)
rpmfilesFree(Files);
+#endif
MODULE = RPM4 PACKAGE = RPM4