File:  [LON-CAPA] / capa / capa51 / GUITools / quizzer.init.c
Revision 1.3: download - view: text, annotated - select for diffs
Fri Aug 4 15:54:49 2000 UTC (23 years, 9 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- modified build method to be less error prone
- corrected some english in the INSTALL file

    1: /* initialization routines for Quizzer
    2:    Copyright (C) 1992-2000 Michigan State University
    3: 
    4:    The CAPA system is free software; you can redistribute it and/or
    5:    modify it under the terms of the GNU Library General Public License as
    6:    published by the Free Software Foundation; either version 2 of the
    7:    License, or (at your option) any later version.
    8: 
    9:    The CAPA system is distributed in the hope that it will be useful,
   10:    but WITHOUT ANY WARRANTY; without even the implied warranty of
   11:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   12:    Library General Public License for more details.
   13: 
   14:    You should have received a copy of the GNU Library General Public
   15:    License along with the CAPA system; see the file COPYING.  If not,
   16:    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   17:    Boston, MA 02111-1307, USA.
   18: 
   19:    As a special exception, you have permission to link this program
   20:    with the TtH/TtM library and distribute executables, as long as you
   21:    follow the requirements of the GNU GPL in regard to all of the
   22:    software in the executable aside from TtH/TtM.
   23: */
   24: 
   25: /*
   26:  * quizzer.init.c
   27:  * Guy Albertelli II 1996
   28:  */
   29: #include <stdio.h>
   30: #include <sys/file.h>
   31: #include <tk.h>
   32: #include <stdlib.h>
   33: #include <pProj/capaCommon.h>
   34: #include <signal.h>
   35: #include <quizzer.h>
   36: #include <common.h>
   37: 
   38: Tcl_Interp * gInterp;
   39: 
   40: int Quizzer_Init(Tcl_Interp *interp)
   41: {
   42:   char buf[BUFFER_SIZE],*argv;
   43: 
   44:   signal(SIGSEGV,signalHandler);
   45:   signal(SIGILL,signalHandler);
   46:   signal(SIGFPE,signalHandler);
   47:   signal(SIGBUS,signalHandler);
   48: 
   49:   gInterp=interp;
   50:   Tcl_CreateCommand( interp, "enscriptParse", capaTclParse, (ClientData)NULL, 
   51: 		     (Tcl_CmdDeleteProc *)NULL); 
   52:   Tcl_CreateCommand( interp, "texParse", capaTclParse, (ClientData)NULL, 
   53: 		     (Tcl_CmdDeleteProc *)NULL); 
   54:   Tcl_CreateCommand( interp, "webParse", capaTclParse, (ClientData)NULL, 
   55: 		     (Tcl_CmdDeleteProc *)NULL); 
   56:   Tcl_CreateCommand( interp, "capaGetStudent", capaGetStudent, (ClientData)NULL, 
   57: 		     (Tcl_CmdDeleteProc *)NULL); 
   58:   Tcl_CreateCommand( interp, "dateUpdate", capaDateUpdate, (ClientData)NULL, 
   59: 		     (Tcl_CmdDeleteProc *)NULL); 
   60:   Tcl_CreateCommand( interp, "runLatex", capaRunLatex, (ClientData)NULL, 
   61: 		     (Tcl_CmdDeleteProc *)NULL); 
   62:   Tcl_CreateCommand( interp, "getParseErrors", capaGetParseErrors, (ClientData)NULL, 
   63: 		     (Tcl_CmdDeleteProc *)NULL); 
   64:   Tcl_CreateCommand( interp, "getHeaderInfo", capaGetHeaderInfo, (ClientData)NULL, 
   65: 		     (Tcl_CmdDeleteProc *)NULL); 
   66:   Tcl_CreateCommand( interp, "updateHeader", capaUpdateHeader, (ClientData)NULL, 
   67: 		     (Tcl_CmdDeleteProc *)NULL); 
   68:   Tcl_CreateCommand( interp, "checkHeader", capaCheckHeader, (ClientData)NULL, 
   69: 		     (Tcl_CmdDeleteProc *)NULL); 
   70:   Tcl_CreateCommand( interp, "getExistingSections", capaGetExistingSections,
   71: 		     (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); 
   72:   Tcl_CreateCommand( interp, "getStudentNumbers", capaGetStudentNumbers,
   73: 		     (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); 
   74:   Tcl_CreateCommand( interp, "stopParser", capaStopParser,
   75: 		     (ClientData)NULL, (Tcl_CmdDeleteProc *)NULL); 
   76: 
   77:   Tcl_LinkVar(interp,"gFasterParsing",(char *)&gFasterParsing,TCL_LINK_INT);
   78: 
   79:   sprintf(buf,"%s.%s",MAJORVER,QUIZZERMINORVER);
   80:   Tcl_SetVar(interp,"gVer",buf,TCL_GLOBAL_ONLY);
   81:   sprintf(buf,"Compiled on %s",COMPILE_DATE);
   82:   Tcl_SetVar(interp,"gCompileDate",buf,TCL_GLOBAL_ONLY);
   83: 
   84:   argv=Tcl_GetVar(interp,"argv", TCL_GLOBAL_ONLY);
   85:   if (argv!=NULL && strlen(argv) > 9 && 
   86:       argv[0]=='-' && 
   87:       argv[1]=='c' && 
   88:       argv[2]=='o' && 
   89:       argv[3]=='p' && 
   90:       argv[4]=='y' && 
   91:       argv[5]=='r' && 
   92:       argv[6]=='i' && 
   93:       argv[7]=='g' && 
   94:       argv[8]=='h' && 
   95:       argv[9]=='t' ) message();
   96: 
   97:   return TCL_OK;
   98: }
   99: 
  100: int Quizzer_InitStandAlone(Tcl_Interp *interp)
  101: {
  102:   return Quizzer_Init(interp);
  103: }
  104: 
  105: int Quizzer_SafeInit(Tcl_Interp *interp)
  106: {
  107:   return Quizzer_Init(interp);
  108: }
  109: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>