From: Jonathan Biggar <jon@sems.com>
Date: Mon, 16 Sep 1996 23:37:48 +0000 (-0700)
Subject: Perl 5.003 bug when embedding in C++ program
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c6ecf61fd8db79f1fc1b90463b6c61a4267ab923;p=p5sagit%2Fp5-mst-13.2.git

Perl 5.003 bug when embedding in C++ program

The following patch is necessary in order to embed the Perl5.003 interpreter
into a C++ program without getting prototype mismatch errors from the
C++ compiler.
---

diff --git a/opcode.h b/opcode.h
index b13849d..ce83340 100644
--- a/opcode.h
+++ b/opcode.h
@@ -1776,9 +1776,9 @@ EXT OP * (*ppaddr[])() = {
 #endif
 
 #ifndef DOINIT
-EXT OP * (*check[])();
+EXT OP * (*check[]) _((OP *op));
 #else
-EXT OP * (*check[])() = {
+EXT OP * (*check[]) _((OP *op)) = {
 	ck_null,	/* null */
 	ck_null,	/* stub */
 	ck_fun,		/* scalar */
diff --git a/opcode.pl b/opcode.pl
index 50cf214..9271cdd 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -114,9 +114,9 @@ END
 
 print <<END;
 #ifndef DOINIT
-EXT OP * (*check[])();
+EXT OP * (*check[]) _((OP *op));
 #else
-EXT OP * (*check[])() = {
+EXT OP * (*check[]) _((OP *op)) = {
 END
 
 for (@ops) {