--- capa/capa51/pProj/capaCgiUtils.c 2000/06/27 18:28:48 1.16 +++ capa/capa51/pProj/capaCgiUtils.c 2000/10/10 20:03:23 1.21 @@ -1,5 +1,28 @@ +/* Most of the web output generation routines. + Copyright (C) 1992-2000 Michigan State University + + The CAPA system is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The CAPA system is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public + License along with the CAPA system; see the file COPYING. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + + As a special exception, you have permission to link this program + with the TtH/TtM library and distribute executables, as long as you + follow the requirements of the GNU GPL in regard to all of the + software in the executable aside from TtH/TtM. +*/ + /* ===================================================================== */ -/* copyrighted by Isaac Tsai, 1998, 1999, 2000 */ /* ===================================================================== */ #include #include @@ -380,7 +403,7 @@ char *log_string; tmtime=localtime(&t); strftime(timeStr,FILE_NAME_LENGTH,"%d/%m %X",tmtime); /*ct[ strlen(ct)-1 ]=0;*/ /* Trash newline */ - protect_log_string(log_string); + /*protect_log_string(log_string);*/ /* done on indiviual answers now*/ fprintf(fp,"%s\t%s\t%s\n",student_number,timeStr,log_string); fflush(fp); fclose(fp); return (0); @@ -390,7 +413,7 @@ char *log_string; void w_get_responses(int x,int q_idx,char* submissions_str) { int leng, sub_idx; - char buf[MAX_BUFFER_SIZE]; + char buf[MAX_BUFFER_SIZE],*tmp; if( !strncmp(g_entries[x].name,"INPUT",5) ) { if( index(g_entries[x].name, ',' ) == NULL ) { /* only one answer */ sscanf(g_entries[x].name,"INPUT%d",&q_idx); @@ -404,7 +427,10 @@ void w_get_responses(int x,int q_idx,cha } leng = strlen( g_entries[x].val ); if ( leng > 0 ) { - sprintf(buf,"%d\t%s\t",q_idx,g_entries[x].val); + tmp=strsave(g_entries[x].val); + protect_log_string(tmp); + sprintf(buf,"%d\t%s\t",q_idx,tmp); + capa_mfree(tmp); strcat(submissions_str,buf); } } @@ -428,7 +454,10 @@ void w_get_responses(int x,int q_idx,cha } leng = strlen( g_entries[x].val ); if ( leng > 0 ) { - sprintf(buf,"%d\t%s\t",q_idx,g_entries[x].val); + tmp=strsave(g_entries[x].val); + protect_log_string(tmp); + sprintf(buf,"%d\t%s\t",q_idx,tmp); + capa_mfree(tmp); strcat(submissions_str,buf); } } @@ -1413,7 +1442,7 @@ char *class_dir; char *c_owner;char *cla } } - if ((mode==CHECK_ANSWER_MODE) || (mode== TRY_SET_MODE)) + if ((mode==CHECK_ANSWER_MODE) || (mode== TRY_SET_MODE) || (mode==VIEW_PREVIOUS_MODE)) capa_set_login_time(g_student_number,set); capa_get_header(&header,set);