diff options
author | Robert Stone <talby@trap.mtview.ca.us> | 2018-12-10 15:37:41 -0800 |
---|---|---|
committer | Robert Stone <talby@trap.mtview.ca.us> | 2018-12-11 15:51:14 -0800 |
commit | 871ece78e644875a51d7e165bd6452515742f298 (patch) | |
tree | 038104bed4ee301d0ecbc4e1cc064580fdf2cf94 /Lib/perl5/perltypemaps.swg | |
parent | 67f5ade7ad03f15a2811190df899196dbf5a12fe (diff) | |
download | swig-871ece78e644875a51d7e165bd6452515742f298.tar.gz |
repair uses of EXTEND() in Perl typemaps
closes #1374
* enhance testing around multiple return values
Examples/test-suite/perl5/scilab_multivalue_runme.pl fails in
perl-5.28.1 compiled with -DDEBUGING without the typemap updates
* repair EXTEND() handling in typemaps
* Use PL_sv_undef for VOID_Object
Diffstat (limited to 'Lib/perl5/perltypemaps.swg')
-rw-r--r-- | Lib/perl5/perltypemaps.swg | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Lib/perl5/perltypemaps.swg b/Lib/perl5/perltypemaps.swg index a86d3ad54..bf1596e9f 100644 --- a/Lib/perl5/perltypemaps.swg +++ b/Lib/perl5/perltypemaps.swg @@ -43,7 +43,7 @@ /* Perl types */ #define SWIG_Object SV * -#define VOID_Object sv_newmortal() +#define VOID_Object &PL_sv_undef /* Perl $shadow flag */ #define %newpointer_flags $shadow @@ -56,7 +56,7 @@ %define %set_output(obj) $result = obj; argvi++ %enddef /* append output */ -%define %append_output(obj) if (argvi >= items) EXTEND(sp,1); %set_output(obj) %enddef +%define %append_output(obj) if (argvi >= items) EXTEND(sp, argvi+1); %set_output(obj) %enddef /* variable output */ %define %set_varoutput(obj) sv_setsv($result,obj) %enddef |