--- loncom/homework/caparesponse/caparesponse.c 2003/05/27 15:29:02 1.8 +++ loncom/homework/caparesponse/caparesponse.c 2004/03/12 21:06:19 1.12 @@ -1,6 +1,6 @@ /* The LearningOnline Network with CAPA * CAPA wrapper code - * $Id: caparesponse.c,v 1.8 2003/05/27 15:29:02 bowersj2 Exp $ + * $Id: caparesponse.c,v 1.12 2004/03/12 21:06:19 albertel Exp $ * * Copyright Michigan State University Board of Trustees * @@ -68,7 +68,7 @@ int caparesponse_capa_check_answer(char int sig_lbound,int sig_ubound, char *ans_fmt, char *unit_str, int calc, char *id_list, char *pts_list, - char *rndseed) + char *rndseed, char** reterror) { long result,seed1,seed2; @@ -76,7 +76,7 @@ int caparesponse_capa_check_answer(char char *error=NULL,filename[FILE_NAME_LENGTH]; FILE *fp; - /* eed to initialize unit parser*/ + /* need to initialize unit parser*/ sprintf(filename,"/home/httpd/html/res/adm/includes/capa.units"); if ((fp=fopen(filename,"r"))==NULL) { /* printf("Error: can't open %s\n",filename);*/ @@ -112,12 +112,14 @@ int caparesponse_capa_check_answer(char p.ans_unit = u_parse_unit(unit_str); } else { p.unit_str[0]='\0'; + p.ans_unit=NULL; } p.calc = calc; result=capa_check_answer(&p,response,&error); - - if (error!=NULL) {free(error);} + *reterror=error; + // Caller is expected to free reterror + // if (error!=NULL) {free(error);} return result; }