+
+
+static int do_load (char *parms, void *mydata)
+{
+ struct tcl_info *p = mydata;
+ char fname[80];
+ int r;
+
+ sprintf (fname, "tcl.state.%d", p->wcl->id);
+ r = Tcl_EvalFile (p->interp, fname);
+ if (r == TCL_ERROR)
+ gw_log (GW_LOG_WARN, mod, "Cannot load Tcl state" );
+ return 0;
+}
+
+static int do_save (char *parms, void *mydata)
+{
+ struct tcl_info *p = mydata;
+ struct Tcl_CmdInfo cinfo;
+
+ if (Tcl_GetCommandInfo(p->interp, "saveState", &cinfo))
+ {
+ int r;
+
+ gw_log (GW_LOG_DEBUG, mod, "saveState");
+ r = Tcl_Eval (p->interp, "saveState\n");
+ if (r == TCL_ERROR)
+ report_error (p, p->interp->errorLine,
+ "Error in Tcl saveState in line",
+ Tcl_GetVar (p->interp, "errorInfo", 0));
+ }
+ return 0;
+}
+