diff options
Diffstat (limited to 'subversion/bindings/swig/include/apr.swg')
-rw-r--r-- | subversion/bindings/swig/include/apr.swg | 14 |
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))); } |