Index: src/main.c ================================================================== --- src/main.c +++ src/main.c @@ -86,12 +86,11 @@ ** All Tcl related context information is in this structure. This structure ** definition has been copied from and should be kept in sync with the one in ** "th_tcl.c". */ struct TclContext { - int argc; - char **argv; + char *argv0; Tcl_Interp *interp; }; #endif /* @@ -412,12 +411,11 @@ int idx; int rc; int i; #ifdef FOSSIL_ENABLE_TCL - g.tcl.argc = argc; - g.tcl.argv = argv; + g.tcl.argv0 = argv[0]; g.tcl.interp = 0; #endif sqlite3_config(SQLITE_CONFIG_LOG, fossil_sqlite_log, 0); memset(&g, 0, sizeof(g)); Index: src/th_tcl.c ================================================================== --- src/th_tcl.c +++ src/th_tcl.c @@ -93,12 +93,11 @@ /* ** Tcl context information used by TH1. This structure definition has been ** copied from and should be kept in sync with the one in "main.c". */ struct TclContext { - int argc; - char **argv; + char *argv0; Tcl_Interp *interp; }; /* ** Syntax: @@ -341,11 +340,11 @@ /* ** Array of Tcl integration commands. Used when adding or removing the Tcl ** integration commands from TH1. */ -static struct _Command { +static const struct _Command { const char *zName; Th_CommandProc xProc; void *pContext; } aCommand[] = { {"tclEval", tclEval_command, 0}, @@ -389,12 +388,12 @@ return TH_ERROR; } if ( tclContext->interp ){ return TH_OK; } - if ( tclContext->argc>0 && tclContext->argv ) { - Tcl_FindExecutable(tclContext->argv[0]); + if ( tclContext->argv0 ){ + Tcl_FindExecutable(tclContext->argv0); } tclInterp = tclContext->interp = Tcl_CreateInterp(); if( !tclInterp || Tcl_InterpDeleted(tclInterp) ){ Th_ErrorMessage(interp, "Could not create Tcl interpreter", (const char *)"", 0);