#include 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) { int result; Problem_t p; char *error=NULL,filename[FILE_NAME_LENGTH]; FILE *fp; printf("hi in caparesponse\n"); /*need to initialize unit parser*/ sprintf(filename,"/home/httpd/html/res/adm/include/capa.units"); if ((fp=fopen(filename,"r"))==NULL) { /* printf("Error: can't open %s\n",filename);*/ return (-1); } u_getunit(fp); fclose(fp); p.ans_type = type; p.answer = correct; p.tol_type = tol_type; p.tolerance = tolerance; p.sig_lbound = sig_lbound; p.sig_ubound = sig_ubound; strncpy(p.ans_fmt,ans_fmt,ANSWER_STRING_LENG-1); strncpy(p.unit_str,unit_str,ANSWER_STRING_LENG-1); p.ans_unit = u_parse_unit(unit_str); p.calc = calc; /* assign_id_list and assign_pts_list exist in capaGrammerDef.y */ p.id_list=NULL; p.pts_list=NULL; result=capa_check_answer(&p,response,&error); if (error!=NULL) {free(error);} return result; }