File:  [LON-CAPA] / capa / capa51 / GUITools / webpage.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: /* webpage start up program
    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:  * webpage.c
   27:  * Guy Albertelli II 1999
   28:  */
   29: #include <stdio.h>
   30: #include <tcl.h>
   31: #include <stdlib.h>
   32: #include <pProj/capaCommon.h>
   33: #include <unistd.h>
   34: #include <webpage.h>
   35: #include "common.h"
   36: 
   37: extern Tcl_Interp *gInterp;
   38: 
   39: int Webpage_Init(Tcl_Interp *interp);
   40: int main(int argc, char**argv)
   41: {
   42:   char * rDisplay,*q,filename[BUFFER_SIZE],buffer[BUFFER_SIZE];
   43:   int  found=1;
   44: 
   45:   if (argc >1) {
   46:     if (!strcmp(argv[1],"-emailcapaid")) { emailcapaid(argc,argv);return 0;}
   47:     if (!strcmp(argv[1],"-getid")) { getid(argc,argv);return 0;}
   48:   }
   49: 
   50:   gInterp=Tcl_CreateInterp();
   51:   if (gInterp ==NULL)
   52:   {
   53:     fprintf(stderr,"Couldn't get a new Tcl Interp\n");
   54:     return -1;
   55:   }
   56: 
   57:   q = Tcl_Merge(argc-1, argv+1);
   58:   Tcl_SetVar(gInterp, "argv", q, TCL_GLOBAL_ONLY);
   59:   ckfree(q);
   60:   sprintf(buffer, "%d", argc-1);
   61:   Tcl_SetVar(gInterp, "argc", buffer, TCL_GLOBAL_ONLY);
   62:   Tcl_SetVar(gInterp, "argv0", argv[0],TCL_GLOBAL_ONLY);
   63:   Tcl_SetVar(gInterp, "tcl_interactive","0", TCL_GLOBAL_ONLY);
   64: 
   65:   if (Tcl_Init(gInterp) == TCL_ERROR) 
   66:   {
   67:     fprintf(stderr,"Tcl_Init error\n");
   68:     fprintf(stderr,"%d\n",TCL_ERROR);
   69:     fprintf(stderr,"%s\n",gInterp->result);
   70:     return -4;
   71:   }
   72:   
   73:   Webpage_Init(gInterp);
   74: 
   75:   sprintf(filename,"./webpage.tcl");
   76:   if( capa_access(filename, F_OK) == -1 ) {
   77:     found=0;
   78:   }
   79:   
   80:   if( found ) {
   81:     if (Tcl_EvalFile(gInterp, filename) != TCL_OK) 
   82:     {
   83:       fprintf(stderr,"%s\n",gInterp->result);
   84:       return -6;
   85:     }
   86:     while(Tcl_DoOneEvent(TCL_ALL_EVENTS));
   87:   } else {
   88:     fprintf(stderr,"Unable to find webpage.tcl\n");
   89:     exit(-7);
   90:   }
   91:   return 0;
   92: }
   93: 
   94: 
   95: 

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