From 1bf736ee803b1c18ac182113e9aa7aa9a62cf1a9 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Mon, 10 Feb 2003 22:07:42 +0000 Subject: [PATCH] Fixes for SWIGTYPE& varin and varout typemaps git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4282 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Lib/tcl/tcl8.swg | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Lib/tcl/tcl8.swg b/Lib/tcl/tcl8.swg index e138eb8c5..06e73726a 100644 --- a/Lib/tcl/tcl8.swg +++ b/Lib/tcl/tcl8.swg @@ -256,12 +256,15 @@ %typemap(varout) char * "$result = Tcl_NewStringObj((char*) $1,-1);"; %typemap(varout) char [ANY] "$result = Tcl_NewStringObj((char *) $1,-1);"; %typemap(varout) char "$result = Tcl_NewStringObj(&$1,1);"; -%typemap(varout) SWIGTYPE *, SWIGTYPE &, SWIGTYPE [] "$result = SWIG_NewPointerObj((void *) $1, $1_descriptor,0);"; +%typemap(varout) SWIGTYPE *, SWIGTYPE [] "$result = SWIG_NewPointerObj((void *) $1, $1_descriptor,0);"; +%typemap(varout) SWIGTYPE & "$result = SWIG_NewPointerObj((void *) &$1, $1_descriptor,0);"; -%typemap(varout) SWIGTYPE *INSTANCE, SWIGTYPE &INSTANCE, SWIGTYPE INSTANCE[] +%typemap(varout) SWIGTYPE *INSTANCE, SWIGTYPE INSTANCE[] "$result = SWIG_NewInstanceObj(interp, (void *) $1, $1_descriptor,0);"; -%typemap(varout) SWIGTYPE "$result = SWIG_NewPointerObj((void *) &$1, $&1_descriptor,0);"; +%typemap(varout) SWIGTYPE &INSTANCE + "$result = SWIG_NewInstanceObj(interp, (void *) &$1, $1_descriptor,0);"; + %typemap(varout) SWIGTYPE INSTANCE "$result = SWIG_NewInstanceObj(interp, (void *) &$1, $&1_descriptor,0);"; %typemap(varout) SWIGTYPE "$result = SWIG_NewInstanceObj(interp, (void *) &$1, $&1_descriptor,0);"; @@ -351,7 +354,7 @@ if (SWIG_ConvertPtr(interp,$input,&temp,$1_descriptor, SWIG_POINTER_EXCEPTION) != TCL_OK) { return (char*)"Type error. Expected $1_ltype"; } - $1 = *(($&1_type) temp); + $1 = *($1_ltype) temp; } %typemap(varin) SWIGTYPE {