version 1.7, 2001/12/04 15:17:57
|
version 1.13, 2004/03/12 23:46:06
|
Line 68 int caparesponse_capa_check_answer(char
|
Line 68 int caparesponse_capa_check_answer(char
|
int sig_lbound,int sig_ubound, |
int sig_lbound,int sig_ubound, |
char *ans_fmt, char *unit_str, |
char *ans_fmt, char *unit_str, |
int calc, char *id_list, char *pts_list, |
int calc, char *id_list, char *pts_list, |
char *rndseed) |
char *rndseed, char** reterror) |
|
|
{ |
{ |
long result,seed1,seed2; |
long result,seed1,seed2; |
Line 76 int caparesponse_capa_check_answer(char
|
Line 76 int caparesponse_capa_check_answer(char
|
char *error=NULL,filename[FILE_NAME_LENGTH]; |
char *error=NULL,filename[FILE_NAME_LENGTH]; |
FILE *fp; |
FILE *fp; |
|
|
/*fprintf(stderr,"hi in caparesponse\n");*/ |
/* need to initialize unit parser*/ |
/*need to initialize unit parser*/ |
*reterror=NULL; |
sprintf(filename,"/home/httpd/html/res/adm/includes/capa.units"); |
sprintf(filename,"/home/httpd/html/res/adm/includes/capa.units"); |
if ((fp=fopen(filename,"r"))==NULL) { |
if ((fp=fopen(filename,"r"))==NULL) { |
/* printf("Error: can't open %s\n",filename);*/ |
/* printf("Error: can't open %s\n",filename);*/ |
Line 104 int caparesponse_capa_check_answer(char
|
Line 104 int caparesponse_capa_check_answer(char
|
p.tolerance = tolerance; |
p.tolerance = tolerance; |
p.sig_lbound = sig_lbound; |
p.sig_lbound = sig_lbound; |
p.sig_ubound = sig_ubound; |
p.sig_ubound = sig_ubound; |
strncpy(p.ans_fmt,ans_fmt,ANSWER_STRING_LENG-1); |
|
if (unit_str[0]!='\0') { |
if (ans_fmt != NULL ) { |
|
strncpy(p.ans_fmt,ans_fmt,ANSWER_STRING_LENG-1); |
|
} |
|
if (unit_str != NULL && unit_str[0]!='\0') { |
strncpy(p.unit_str,unit_str,ANSWER_STRING_LENG-1); |
strncpy(p.unit_str,unit_str,ANSWER_STRING_LENG-1); |
p.ans_unit = u_parse_unit(unit_str); |
p.ans_unit = u_parse_unit(unit_str); |
} else { |
} else { |
Line 114 int caparesponse_capa_check_answer(char
|
Line 117 int caparesponse_capa_check_answer(char
|
} |
} |
p.calc = calc; |
p.calc = calc; |
|
|
|
|
result=capa_check_answer(&p,response,&error); |
result=capa_check_answer(&p,response,&error); |
|
*reterror=error; |
if (error!=NULL) {free(error);} |
// Caller is expected to free reterror |
|
// if (error!=NULL) {free(error);} |
|
|
return result; |
return result; |
} |
} |