swig/Examples/test-suite/pointer_in_out.i
Dave Beazley 12a43edc2d The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2002-11-30 22:01:28 +00:00

35 lines
663 B
OpenEdge ABL

/* This file tests the pointer-in-out typemap library,
currently only available for Guile. */
%module pointer_in_out
%include "pointer-in-out.i"
TYPEMAP_POINTER_INPUT_OUTPUT(int *, int-pointer);
int consume_int_pointer(int **INPUT);
void produce_int_pointer(int **OUTPUT, int value1, int value2);
void frobnicate_int_pointer(int **INOUT);
%{
int consume_int_pointer(int **INPUT)
{
return **INPUT;
}
void produce_int_pointer(int **OUTPUT, int value1, int value2)
{
int *foo = malloc(2 * sizeof(int));
foo[0] = value1;
foo[1] = value2;
*OUTPUT = foo;
}
void frobnicate_int_pointer(int **INOUT)
{
/* advance the pointer */
(*INOUT)++;
}
%}