summaryrefslogtreecommitdiff
path: root/extra/postgresql/perl-5.14-fix.patch
blob: 82ef7d6885c4223dc17a2aa051400b7952e47ffb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -926,7 +926,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);
 
--- a/src/pl/plperl/plperl.h
+++ b/src/pl/plperl/plperl.h
@@ -49,6 +49,11 @@
 								(U32)HeKUTF8(he))
 #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 *);