| %module scilab_pointer_conversion_functions |
| |
| %warnfilter(SWIGWARN_TYPEMAP_SWIGTYPELEAK_MSG) pfoo; /* Setting a pointer/reference variable may leak memory. */ |
| |
| %inline %{ |
| |
| void *getNull() { return NULL; } |
| bool isNull(void *p) { return p == NULL; } |
| |
| int foo = 3; |
| int *pfoo = &foo; |
| |
| double getFooAddress() { return (double) (unsigned long) pfoo; } |
| bool equalFooPointer(void *p) { return p == pfoo; } |
| |
| %} |
| |
| %typemap(out, noblock=1) struct structA* { |
| if (SwigScilabPtrFromObject(pvApiCtx, SWIG_Scilab_GetOutputPosition(), $1, SWIG_Scilab_TypeQuery("struct structA *"), 0, NULL) != SWIG_OK) { |
| return SWIG_ERROR; |
| } |
| SWIG_Scilab_SetOutput(pvApiCtx, SWIG_NbInputArgument(pvApiCtx) + SWIG_Scilab_GetOutputPosition()); |
| } |
| |
| %inline %{ |
| |
| struct structA { |
| int x; |
| }; |
| |
| %} |