Fix SWIGTYPE output typemaps for Pike module.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4759 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
840719b9ee
commit
332eb499a2
1 changed files with 4 additions and 5 deletions
|
|
@ -111,8 +111,7 @@ extern "C" {
|
||||||
%typemap(out, pikedesc="tStr") char * "push_text($1);";
|
%typemap(out, pikedesc="tStr") char * "push_text($1);";
|
||||||
|
|
||||||
/* Pointers, references, and arrays */
|
/* Pointers, references, and arrays */
|
||||||
%typemap(out) SWIGTYPE*, SWIGTYPE &, SWIGTYPE []
|
%typemap(out, pikedesc="tObj") SWIGTYPE*, SWIGTYPE &, SWIGTYPE [] "push_object(SWIG_NewPointerObj((void *) $1, $1_descriptor, $owner));";
|
||||||
"$result = SWIG_NewPointerObj((void *) $1, $1_descriptor, $owner);";
|
|
||||||
|
|
||||||
/* Void return value; don't push anything */
|
/* Void return value; don't push anything */
|
||||||
%typemap(out, pikedesc="tVoid") void "";
|
%typemap(out, pikedesc="tVoid") void "";
|
||||||
|
|
@ -128,19 +127,19 @@ extern "C" {
|
||||||
%typemap(out, pikedesc="tStr") char [ANY], const char [ANY] "push_text($1);";
|
%typemap(out, pikedesc="tStr") char [ANY], const char [ANY] "push_text($1);";
|
||||||
|
|
||||||
/* Primitive types--return by value */
|
/* Primitive types--return by value */
|
||||||
%typemap(out) SWIGTYPE
|
%typemap(out, "tObj") SWIGTYPE
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
{
|
{
|
||||||
$&1_ltype resultptr;
|
$&1_ltype resultptr;
|
||||||
resultptr = new $1_ltype(($1_ltype &) $1);
|
resultptr = new $1_ltype(($1_ltype &) $1);
|
||||||
$result = SWIG_NewPointerObj((void *) resultptr, $&1_descriptor, 1);
|
push_object(SWIG_NewPointerObj((void *) resultptr, $&1_descriptor, 1));
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
$&1_ltype resultptr;
|
$&1_ltype resultptr;
|
||||||
resultptr = ($&1_ltype) malloc(sizeof($1_type));
|
resultptr = ($&1_ltype) malloc(sizeof($1_type));
|
||||||
memmove(resultptr, &$1, sizeof($1_type));
|
memmove(resultptr, &$1, sizeof($1_type));
|
||||||
$result = SWIG_NewPointerObj((void *) resultptr, $&1_descriptor, 1);
|
push_object(SWIG_NewPointerObj((void *) resultptr, $&1_descriptor, 1));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue