diff options
Diffstat (limited to 'x11/ruby-fox/patches/patch-ab')
-rw-r--r-- | x11/ruby-fox/patches/patch-ab | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/x11/ruby-fox/patches/patch-ab b/x11/ruby-fox/patches/patch-ab index 7f154314e5b..27c9fba6d03 100644 --- a/x11/ruby-fox/patches/patch-ab +++ b/x11/ruby-fox/patches/patch-ab @@ -1,23 +1,31 @@ -$NetBSD: patch-ab,v 1.1 2002/01/26 03:50:35 taca Exp $ +$NetBSD: patch-ab,v 1.2 2003/08/30 02:55:03 taca Exp $ ---- FXRuby.cpp.orig Fri Jul 27 05:09:22 2001 -+++ FXRuby.cpp -@@ -74,6 +74,9 @@ +--- FXRuby.cpp.orig 2003-08-30 03:32:27.000000000 +0200 ++++ FXRuby.cpp 2003-08-30 03:34:48.000000000 +0200 +@@ -42,6 +42,9 @@ #include <io.h> // for get_osf_handle() #endif +#define RB_BPROC(func) ((VALUE (*)(...))func) +#define RB_RPROC(func) ((VALUE (*)(...))func) + - // Maps C++ objects to Ruby instances - static std::map<const void*,VALUE> FXRuby_ObjMap; + #ifdef HAVE_SIGNAL_H + #include <signal.h> // for definitions of SIGINT, etc. + #endif +@@ -1085,12 +1088,12 @@ -@@ -766,7 +769,7 @@ - hArgs.nargs=3; - VALUE retval; if(FXRbCatchExceptions){ -- retval=rb_rescue2(handle_body,(VALUE)&hArgs,handle_rescue,Qnil, -+ retval=rb_rescue2(RB_BPROC(handle_body),(VALUE)&hArgs,RB_RPROC(handle_rescue),Qnil, - rb_eStandardError,rb_eNameError,0); + #ifdef RB_RESCUE2_BROKEN_PROTOTYPE +- retval=rb_rescue2((VALUE(*)()) handle_body, reinterpret_cast<VALUE>(&hArgs), +- (VALUE(*)()) handle_rescue, Qnil, ++ retval=rb_rescue2((VALUE(*)()) RB_BPROC(handle_body), reinterpret_cast<VALUE>(&hArgs), ++ (VALUE(*)()) RB_RPROC(handle_rescue), Qnil, + rb_eStandardError, rb_eNameError, 0); + #else +- retval=rb_rescue2((VALUE(*)(ANYARGS)) handle_body, reinterpret_cast<VALUE>(&hArgs), +- (VALUE(*)(ANYARGS)) handle_rescue, Qnil, ++ retval=rb_rescue2((VALUE(*)(ANYARGS)) RB_BPROC(handle_body), reinterpret_cast<VALUE>(&hArgs), ++ (VALUE(*)(ANYARGS)) RB_RPROC(handle_rescue), Qnil, + rb_eStandardError, rb_eNameError, 0); + #endif } - else{ |