From 87a1b982e3d6b75406ce43ece0e0ceb8ffee4b0c Mon Sep 17 00:00:00 2001 From: Logan Johnson Date: Fri, 19 Sep 2003 18:47:27 +0000 Subject: [PATCH] Add (and use) the SWIG_POINTER_EXCEPTION and SWIG_POINTER_DISOWN flags for the Ruby runtime support. Have not actually implemented support for "disowning" Ruby pointers yet. git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5122 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Lib/ruby/rubydef.swg | 4 ++-- Lib/ruby/rubyhead.swg | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Lib/ruby/rubydef.swg b/Lib/ruby/rubydef.swg index 3f34aef8b..0cf825850 100644 --- a/Lib/ruby/rubydef.swg +++ b/Lib/ruby/rubydef.swg @@ -100,14 +100,14 @@ SWIG_ConvertPtr(VALUE obj, void **ptr, swig_type_info *ty, int flags) } } if ((c = SWIG_MangleStr(obj)) == NULL) { - if (flags) + if (flags & SWIG_POINTER_EXCEPTION) rb_raise(rb_eTypeError, "Expected %s", ty->str); else return -1; } tc = SWIG_TypeCheck(c, ty); if (!tc) { - if (flags) + if (flags & SWIG_POINTER_EXCEPTION) rb_raise(rb_eTypeError, "Expected %s", ty->str); else return -1; diff --git a/Lib/ruby/rubyhead.swg b/Lib/ruby/rubyhead.swg index 0e2f8a18d..a34f7eab7 100644 --- a/Lib/ruby/rubyhead.swg +++ b/Lib/ruby/rubyhead.swg @@ -4,6 +4,10 @@ #include "ruby.h" +/* Flags for pointer conversion */ +#define SWIG_POINTER_EXCEPTION 0x1 +#define SWIG_POINTER_DISOWN 0x2 + #define NUM2USHRT(n) (\ (0 <= NUM2UINT(n) && NUM2UINT(n) <= USHRT_MAX)\ ? (unsigned short) NUM2UINT(n) \