version 1.6, 2004/11/16 23:37:40
|
version 1.9, 2024/04/29 02:59:19
|
Line 1
|
Line 1
|
%module capa |
%module capa |
%{ |
%{ |
|
#include "caparesponse.h" |
%} |
%} |
|
|
%typemap(perl5,in) char** reterror (char* cvalue) { |
%typemap(in) char** reterror (char* cvalue) { |
SV* tempsv; |
SV* tempsv; |
int len; |
long unsigned int len; |
if (!SvROK($source)) { |
if (!SvROK($input)) { |
croak("expected a reference\n"); |
croak("expected a reference\n"); |
} |
} |
tempsv = SvRV($source); |
tempsv = SvRV($input); |
if ((!SvPOK(tempsv))) { |
if ((!SvPOK(tempsv))) { |
croak("expected a double reference\n"); |
croak("expected a double reference\n"); |
} |
} |
cvalue = SvPV(tempsv,len); |
cvalue = SvPV(tempsv,len); |
$target = &cvalue; |
$1 = &cvalue; |
} |
} |
|
|
%typemap(perl5,argout) char ** reterror { |
%typemap(argout) char ** reterror { |
SV *tempsv; |
SV *tempsv; |
tempsv = SvRV($arg); |
tempsv = SvRV($arg); |
if (($source!=NULL) && (*$source!=NULL)) { |
if (($1!=NULL) && (*$1!=NULL)) { |
sv_setpv(tempsv, *$source); |
sv_setpv(tempsv, *$1); |
free(*$source); |
free(*$1); |
} |
} |
} |
} |
|
|
%typemap(perl5,in) double* scaled { |
%typemap(in) double* scaled { |
double *temp; |
double *temp; |
if (!SvROK($source)) { |
if (!SvROK($input)) { |
croak("expected a reference\n"); |
croak("expected a reference\n"); |
} |
} |
SV* tempsv; |
SV* tempsv; |
tempsv = SvRV($source); |
tempsv = SvRV($input); |
if (!SvPOK(tempsv) && !SvIOK(tempsv) && !SvNOK(tempsv)) { |
if (!SvPOK(tempsv) && !SvIOK(tempsv) && !SvNOK(tempsv)) { |
croak("expected a single reference to a scalar\n"); |
croak("expected a single reference to a scalar\n"); |
} |
} |
temp = malloc(sizeof(double)); |
temp = malloc(sizeof(double)); |
*temp = SvNV(tempsv); |
*temp = SvNV(tempsv); |
$target = temp; |
$1 = temp; |
} |
} |
|
|
%typemap(perl5,argout) double* scaled { |
%typemap(argout) double* scaled { |
SV *tempsv; |
SV *tempsv; |
tempsv = SvRV($arg); |
tempsv = SvRV($arg); |
sv_setnv(tempsv, *$source); |
sv_setnv(tempsv, *$1); |
free($source); |
free($1); |
} |
} |
|
|
|
|