From 48f6a95092ed72a34c657608d1aad947236beac9 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Thu, 16 Jun 2005 21:22:39 +0000 Subject: [PATCH] contract support - patch from Hans Oesterholt-Dijkema git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7292 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Lib/mzscheme/mzrun.swg | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Lib/mzscheme/mzrun.swg b/Lib/mzscheme/mzrun.swg index 63b424bc1..ea2d9be96 100644 --- a/Lib/mzscheme/mzrun.swg +++ b/Lib/mzscheme/mzrun.swg @@ -23,6 +23,14 @@ extern "C" { #define SWIG_MustGetPtr(s, type, argnum, flags) \ SWIG_MzScheme_MustGetPtr(s, type, argnum, flags, FUNC_NAME, argc, argv) +#define SWIG_contract_assert(expr,msg) \ + if (!(expr)) { \ + char *m=(char *) scheme_malloc(strlen(msg)+1000); \ + sprintf(m,"SWIG contract, assertion failed: function=%s, message=%s", \ + (char *) FUNC_NAME,(char *) msg); \ + scheme_signal_error(m); \ + } + /* Runtime API */ #define SWIG_GetModule(clientdata) SWIG_MzScheme_GetModule((Scheme_Env *)(clientdata)) #define SWIG_SetModule(clientdata, pointer) SWIG_MzScheme_SetModule((Scheme_Env *) (clientdata), pointer)