Perl 5.003 bug when embedding in C++ program
authorJonathan Biggar <jon@sems.com>
Mon, 16 Sep 1996 23:37:48 +0000 (16:37 -0700)
committerAndy Dougherty <doughera@lafcol.lafayette.edu>
Mon, 16 Sep 1996 23:37:48 +0000 (16:37 -0700)
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.

opcode.h
opcode.pl

index b13849d..ce83340 100644 (file)
--- 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 */
index 50cf214..9271cdd 100755 (executable)
--- 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) {