home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / tcl / tclsrc / c / shade < prev    next >
Text File  |  1995-02-04  |  886b  |  41 lines

  1. /*
  2.  * Main for shade
  3.  * (c) C.T.Stretch
  4.  * Fri,24 Jun 1994
  5. */
  6.  
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include "h.tcl"
  10. #include "h.tclRISCOS"
  11. #include "h.tclW"
  12.  
  13. int main(int n,char** args)
  14. { Tcl_Interp *ti;
  15.   int i,code;
  16.   char *q;
  17.   char buf[16];
  18.   if(n<2){ printf("Error from Tcl 1 parameter needed, %d given",n-1);exit(1);}
  19.   RiscOS_Init();
  20.   ti=Tcl_CreateInterp();
  21.   RiscOS_InitVars(ti);
  22.   Tcl_CreateCommand(ti,"w_init",W_InitCmd,NULL,NULL);
  23.   sprintf(buf,"%d",n);
  24.   Tcl_SetVar2(ti,"argc",0,buf,TCL_GLOBAL_ONLY);
  25.   for(i=0;i<n;i++)
  26.   { sprintf(buf,"%d",i);
  27.     Tcl_SetVar2(ti,"argv",buf,args[i],TCL_GLOBAL_ONLY);
  28.   }
  29.   code=Tcl_EvalFile(ti,args[1]);
  30.   if(code)
  31.   { if(w_Interp) W_Error("initialize");
  32.     else
  33.     { printf("Error %d from Tcl - %s\n",code,ti->result);
  34.       q=Tcl_GetVar(ti,"errorInfo",0);
  35.       if(q) puts(q);
  36.       exit(code);
  37.     }
  38.   }
  39.   if(w_Interp) W_Poll();
  40. }
  41.