--- capa/capa51/GUITools/common.funct.c 1999/09/28 21:25:41 1.1.1.1 +++ capa/capa51/GUITools/common.funct.c 2000/08/07 20:47:29 1.7 @@ -1,11 +1,34 @@ +/* general functionality for all parts of GUI CAPA + 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. +*/ + /* * common.funct.c - * Copyright Guy Albertelli II 1998 - * Portions Copyright Issac Tsai + * Created Guy Albertelli II 1998 */ #include #include -#include +#include #include #include #include @@ -126,9 +149,56 @@ int capaGetExistingSections(ClientData c return TCL_OK; } +/* finds how many set.db files there are */ +int howManySetDBFile() +{ + char filename[BUFFER_SIZE], *pathName; + int ii; + + pathName=getcwd(NULL,BUFFER_SIZE); + ii=1; + sprintf(filename,"%s/records/set%d.db",pathName,ii); + while(!access(filename, F_OK)) { + ii++; + sprintf(filename,"%s/records/set%d.db",pathName,ii); + } + free(pathName); + return (ii-1); +} + +/* argv[1] is student number argv[2] is setnumber */ +int capaGetSpecifiCapaId(ClientData clientdata, Tcl_Interp *interp, int argc, + char *argv[]) +{ + char buf[MAX_BUFFER_SIZE]; + if (argc==3) { + sprintf(buf,"%d",capa_PIN(argv[1],atoi(argv[2]),0)); + Tcl_AppendElement(interp,buf); + } else { + sprintf(buf,"Usage: %s StudentNumber SetNumber",argv[0]); + Tcl_AppendElement(interp,buf); + } + return TCL_OK; +} + +/* argv[1] is student number argv[2] is section number argv[3] is setnumber */ +int capaIsSetOpen(ClientData clientdata, Tcl_Interp *interp, int argc, + char *argv[]) +{ + char buf[MAX_BUFFER_SIZE]; + if (argc==4) { + sprintf(buf,"%d",capa_check_date(CHECK_OPEN_DATE,argv[1],atoi(argv[2]),atoi(argv[3]))); + Tcl_AppendElement(interp,buf); + } else { + sprintf(buf,"Usage: %s StudentNumber SectionNumber SetNumber",argv[0]); + Tcl_AppendElement(interp,buf); + } + return TCL_OK; +} + void message() { - unsigned char *message= + signed char *message= "***** ***** ************ ***** *****\n" "****** ****** ****************** ***** *****\n" " ****** ****** **** **** **** **** \n" @@ -149,8 +219,9 @@ void message() " **** **** **** **** **** **** \n" "***** ***** ****************** ***************** \n" "***** ***** ************ *********** \n" -"Copyright MSU Board of Trustees 1992-1999 \n" -"No Unauthorized Commercial Use or redistribution allowed. \n"; +"CAPA comes with ABSOLUTELY NO WARRANTY \n" +"This is free software, and you are welcome \n" +"to redistribute it under certain conditions; check the COPYING file. \n"; fprintf(stderr,message); exit(0); }