postgresql/postgresql-perl-5.14.patch
2011-06-17 13:32:41 -04:00

42 lines
1.2 KiB
Diff

Back-patch upstream patch to cope with perl 5.14. This will be present
in PG 9.0.5 and later, but we want to build rawhide with 5.14 now.
commit cb252c2acd415d304e3254e99f82058d11a69e04
Author: Andrew Dunstan <andrew@dunslane.net>
Date: Sat Jun 4 19:35:04 2011 -0400
Allow building with perl 5.14.
Patch from Alex Hunsaker.
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index 72c4dc2..1754489 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -874,7 +874,7 @@ plperl_trusted_init(void)
if (!isGV_with_GP(sv) || !GvCV(sv))
continue;
SvREFCNT_dec(GvCV(sv)); /* free the CV */
- GvCV(sv) = NULL; /* prevent call via GV */
+ GvCV_set(sv, NULL); /* prevent call via GV */
}
hv_clear(stash);
diff --git a/src/pl/plperl/plperl.h b/src/pl/plperl/plperl.h
index 6d58f11..1d38d9e 100644
--- a/src/pl/plperl/plperl.h
+++ b/src/pl/plperl/plperl.h
@@ -42,6 +42,11 @@
#undef bool
#endif
+/* supply GvCV_set if it's missing - ppport.h doesn't supply it, unfortunately */
+#ifndef GvCV_set
+#define GvCV_set(gv, cv) (GvCV(gv) = cv)
+#endif
+
/* declare routines from plperl.c for access by .xs files */
HV *plperl_spi_exec(char *, int);
void plperl_return_next(SV *);