From b9bddada7a94a1fbb1b770da198162b985c211fc Mon Sep 17 00:00:00 2001 From: simon Date: Tue, 8 Mar 2016 17:34:27 +0100 Subject: [PATCH] scilab: fix object/pointer type checking --- Lib/scilab/scitypemaps.swg | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Lib/scilab/scitypemaps.swg b/Lib/scilab/scitypemaps.swg index 62a819f35..175a41b51 100644 --- a/Lib/scilab/scitypemaps.swg +++ b/Lib/scilab/scitypemaps.swg @@ -147,11 +147,18 @@ } %enddef +%define %scilab_typecheck_pointer(PRECEDENCE, TYPE) +%typecheck(PRECEDENCE) TYPE { + $1 = SwigScilabCheckPtr(pvApiCtx, $input, $descriptor, SWIG_Scilab_GetFuncName()); +} +%enddef + + // Double (and Float) have priority over before Integer type. // Primitive types -%scilab_typecheck_generic(SWIG_TYPECHECK_VOIDPTR, isPointerType, SWIGTYPE *) -%scilab_typecheck_generic(SWIG_TYPECHECK_POINTER, isPointerType, SWIGTYPE *) +%scilab_typecheck_pointer(SWIG_TYPECHECK_VOIDPTR, SWIGTYPE *) +%scilab_typecheck_pointer(SWIG_TYPECHECK_POINTER, SWIGTYPE *) %scilab_typecheck_generic(SWIG_TYPECHECK_BOOL, isBooleanType, bool) %scilab_typecheck_generic(16, isDoubleType, double) %scilab_typecheck_generic(17, isDoubleType, float)