mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-23 14:46:53 +00:00
46 lines
1.1 KiB
Plaintext
46 lines
1.1 KiB
Plaintext
/*
|
|
adding backward compatibility macros
|
|
*/
|
|
|
|
#define SWIG_arg(x...) %arg(x)
|
|
#define SWIG_Mangle(x...) %mangle(x)
|
|
|
|
#define SWIG_As_frag(Type...) %fragment_name(As, Type)
|
|
#define SWIG_As_name(Type...) %symbol_name(As, Type)
|
|
#define SWIG_As(Type...) SWIG_As_name(Type) SWIG_AS_CALL_ARGS
|
|
|
|
#define SWIG_Check_frag(Type...) %fragment_name(Check, Type)
|
|
#define SWIG_Check_name(Type...) %symbol_name(Check, Type)
|
|
#define SWIG_Check(Type...) SWIG_Check_name(Type) SWIG_AS_CALL_ARGS
|
|
|
|
%define %ascheck_methods(Code, Type...)
|
|
%fragment(SWIG_As_frag(Type),"header", fragment=SWIG_AsVal_frag(Type)) {
|
|
SWIGINTERNINLINE Type
|
|
SWIG_As(Type)(PyObject* obj)
|
|
{
|
|
Type v;
|
|
int res = SWIG_AsVal(Type)(obj, &v);
|
|
if (!SWIG_IsOK(res)) {
|
|
/*
|
|
this is needed to make valgrind/purify happier.
|
|
*/
|
|
memset((void*)&v, 0, sizeof(Type));
|
|
SWIG_Error(res, "");
|
|
}
|
|
return v;
|
|
}
|
|
}
|
|
|
|
%fragment(SWIG_Check_frag(Type),"header",fragment=SWIG_AsVal_frag(Type)) {
|
|
SWIGINTERNINLINE int
|
|
SWIG_Check(Type)(PyObject* obj)
|
|
{
|
|
int res = SWIG_AsVal(Type)(obj, (Type*)0);
|
|
return SWIG_IsOK(res);
|
|
}
|
|
}
|
|
%enddef
|
|
|
|
%apply_checkctypes(%ascheck_methods)
|
|
|