add %typemap(varin) SWIGTYPE[], fix some typemaps to be safe for %apply
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@6423 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
4855fb73ae
commit
aa85fa1a1e
5 changed files with 27 additions and 12 deletions
|
|
@ -207,14 +207,14 @@
|
|||
|
||||
%typemap(out) const long long & {
|
||||
char temp[256];
|
||||
sprintf(temp,"%lld", *($1));
|
||||
sprintf(temp,"%lld", (long long)*($1));
|
||||
ST(argvi) = sv_newmortal();
|
||||
sv_setpv((SV*)ST(argvi++), temp);
|
||||
}
|
||||
|
||||
%typemap(out) const unsigned long long & {
|
||||
char temp[256];
|
||||
sprintf(temp,"%llu", *($1));
|
||||
sprintf(temp,"%llu", (unsigned long long)*($1));
|
||||
ST(argvi) = sv_newmortal();
|
||||
sv_setpv((SV*)ST(argvi++), temp);
|
||||
}
|
||||
|
|
@ -242,9 +242,11 @@
|
|||
%typemap(varin) unsigned long long "$1 = ($1_ltype) strtoull(SvPV($input, PL_na), 0, 0);";
|
||||
|
||||
%typemap(varin) SWIGTYPE * {
|
||||
void *temp;
|
||||
if (SWIG_ConvertPtr($input, (void **) &$1, $1_descriptor,0) < 0) {
|
||||
croak("Type error in argument $argnum of $symname. Expected $1_mangle");
|
||||
}
|
||||
$1 = *($1_ltype) temp;
|
||||
}
|
||||
|
||||
%typemap(varin) SWIGTYPE [ANY] {
|
||||
|
|
@ -257,6 +259,11 @@
|
|||
for (i = 0; i < $1_size; i++) b[i] = temp[i];
|
||||
}
|
||||
|
||||
%typemap(varin,warning="462:Unable to set dimensionless array variable") SWIGTYPE []
|
||||
{
|
||||
croak("C/C++ variable '$name' is read-only");
|
||||
}
|
||||
|
||||
%typemap(varin) SWIGTYPE & {
|
||||
void *temp;
|
||||
if (SWIG_ConvertPtr($input, (void **) &temp, $1_descriptor,0) < 0) {
|
||||
|
|
@ -385,13 +392,13 @@
|
|||
|
||||
%typemap(varout) long long {
|
||||
char temp[256];
|
||||
sprintf(temp,"%lld",$1);
|
||||
sprintf(temp,"%lld",(long long)$1);
|
||||
sv_setpv((SV *) $result, temp);
|
||||
}
|
||||
|
||||
%typemap(varout) unsigned long long {
|
||||
char temp[256];
|
||||
sprintf(temp,"%llu",$1);
|
||||
sprintf(temp,"%llu",(unsigned long long)$1);
|
||||
sv_setpv((SV *) $result, temp);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ output values.
|
|||
if (argvi >= items) {
|
||||
EXTEND(sp,1);
|
||||
}
|
||||
sprintf(temp,"%lld", *($1));
|
||||
sprintf(temp,"%lld", (long long)*($1));
|
||||
$result = sv_newmortal();
|
||||
sv_setpv($result,temp);
|
||||
argvi++;
|
||||
|
|
@ -217,7 +217,7 @@ output values.
|
|||
if (argvi >= items) {
|
||||
EXTEND(sp,1);
|
||||
}
|
||||
sprintf(temp,"%llu", *($1));
|
||||
sprintf(temp,"%llu", (unsigned long long)*($1));
|
||||
$result = sv_newmortal();
|
||||
sv_setpv($result,temp);
|
||||
argvi++;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue