%module capa
%{
%}
%typemap(perl5,in) char** reterror (char* cvalue) {
SV* tempsv;
if (!SvROK($source)) {
croak("expected a reference\n");
}
tempsv = SvRV($source);
if ((!SvPOK(tempsv))) {
croak("expected a double reference\n");
}
int len;
cvalue = SvPV(tempsv,len);
$target = &cvalue;
}
%typemap(perl5,argout) char ** reterror {
SV *tempsv;
tempsv = SvRV($arg);
if (($source!=NULL) && (*$source!=NULL)) {
sv_setpv(tempsv, *$source);
free(*$source);
}
}
extern int caparesponse_capa_check_answer(char *response,char *correct,
int type,int tol_type,double tolerance,
int sig_lbound,int sig_ubound,
char *ans_fmt, char *unit_str,
int calc, char *id_list, char *pts_list,
char *rndseed, char** reterror);
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>