summaryrefslogtreecommitdiff
path: root/testing/postgresql/perl-5.14-fix.patch
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-06-01 22:46:45 +0000
committerroot <root@rshg047.dnsready.net>2011-06-01 22:46:45 +0000
commite7b9c9697e6a50c3b9e78941fa95ba11c716d238 (patch)
tree4df601d78b5a2009ebeea5f01afe1f6e2beb8ca4 /testing/postgresql/perl-5.14-fix.patch
parent311d0420d77867bdb1066d38743e68e596a17ce5 (diff)
Wed Jun 1 22:46:45 UTC 2011
Diffstat (limited to 'testing/postgresql/perl-5.14-fix.patch')
-rw-r--r--testing/postgresql/perl-5.14-fix.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/testing/postgresql/perl-5.14-fix.patch b/testing/postgresql/perl-5.14-fix.patch
new file mode 100644
index 000000000..82ef7d688
--- /dev/null
+++ b/testing/postgresql/perl-5.14-fix.patch
@@ -0,0 +1,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 *);