summaryrefslogtreecommitdiff
path: root/subversion/bindings/swig/include/apr.swg
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/bindings/swig/include/apr.swg')
-rw-r--r--subversion/bindings/swig/include/apr.swg14
1 files changed, 6 insertions, 8 deletions
diff --git a/subversion/bindings/swig/include/apr.swg b/subversion/bindings/swig/include/apr.swg
index 282483c..3eeece4 100644
--- a/subversion/bindings/swig/include/apr.swg
+++ b/subversion/bindings/swig/include/apr.swg
@@ -31,23 +31,21 @@
*/
#ifdef SWIGPERL
%typemap(out) long long {
- char temp[256];
+ char temp[30];
sprintf(temp, "%" APR_INT64_T_FMT, (apr_int64_t) $1);
- ST(argvi) = sv_newmortal();
- sv_setpv((SV*)ST(argvi++), temp);
+ %append_output(sv_2mortal(newSVpv(temp, 0)));
}
%typemap(out) unsigned long long {
- char temp[256];
+ char temp[30];
sprintf(temp, "%" APR_UINT64_T_FMT, (apr_uint64_t) $1);
- ST(argvi) = sv_newmortal();
- sv_setpv((SV*)ST(argvi++), temp);
+ %append_output(sv_2mortal(newSVpv(temp, 0)));
}
%typemap(in, numinputs=0) long long *OUTPUT (apr_int64_t temp)
"$1 = &temp;";
%typemap(argout) long long *OUTPUT {
- char temp[256];
+ char temp[30];
sprintf(temp, "%" APR_INT64_T_FMT, (apr_int64_t)*($1));
%append_output(sv_2mortal(newSVpv(temp, 0)));
}
@@ -55,7 +53,7 @@
%typemap(in, numinputs=0) unsigned long long *OUTPUT (apr_uint64_t temp)
"$1 = &temp;";
%typemap(argout) unsigned long long *OUTPUT {
- char temp[256];
+ char temp[30];
sprintf(temp, "%" APR_UINT64_T_FMT, (apr_uint64_t)*($1));
%append_output(sv_2mortal(newSVpv(temp, 0)));
}