summaryrefslogtreecommitdiff
path: root/Lib/perl5/perltypemaps.swg
diff options
context:
space:
mode:
authorRobert Stone <talby@trap.mtview.ca.us>2018-12-10 15:37:41 -0800
committerRobert Stone <talby@trap.mtview.ca.us>2018-12-11 15:51:14 -0800
commit871ece78e644875a51d7e165bd6452515742f298 (patch)
tree038104bed4ee301d0ecbc4e1cc064580fdf2cf94 /Lib/perl5/perltypemaps.swg
parent67f5ade7ad03f15a2811190df899196dbf5a12fe (diff)
downloadswig-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.swg4
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