Fossil SCM

Restore the previous Tcl argc/argv handling as all the arguments will be used for the Tcl argv script variable.

mistachkin 2012-08-21 23:45 trunk
Commit c9bb3200658911d8c8cc73b8bd5d315101e51d9e
2 files changed +4 -2 +5 -4
+4 -2
--- src/main.c
+++ src/main.c
@@ -86,11 +86,12 @@
8686
** All Tcl related context information is in this structure. This structure
8787
** definition has been copied from and should be kept in sync with the one in
8888
** "th_tcl.c".
8989
*/
9090
struct TclContext {
91
- char *argv0;
91
+ int argc;
92
+ char **argv;
9293
Tcl_Interp *interp;
9394
};
9495
#endif
9596
9697
/*
@@ -411,11 +412,12 @@
411412
int idx;
412413
int rc;
413414
int i;
414415
415416
#ifdef FOSSIL_ENABLE_TCL
416
- g.tcl.argv0 = argv[0];
417
+ g.tcl.argc = argc;
418
+ g.tcl.argv = argv;
417419
g.tcl.interp = 0;
418420
#endif
419421
420422
sqlite3_config(SQLITE_CONFIG_LOG, fossil_sqlite_log, 0);
421423
memset(&g, 0, sizeof(g));
422424
--- src/main.c
+++ src/main.c
@@ -86,11 +86,12 @@
86 ** All Tcl related context information is in this structure. This structure
87 ** definition has been copied from and should be kept in sync with the one in
88 ** "th_tcl.c".
89 */
90 struct TclContext {
91 char *argv0;
 
92 Tcl_Interp *interp;
93 };
94 #endif
95
96 /*
@@ -411,11 +412,12 @@
411 int idx;
412 int rc;
413 int i;
414
415 #ifdef FOSSIL_ENABLE_TCL
416 g.tcl.argv0 = argv[0];
 
417 g.tcl.interp = 0;
418 #endif
419
420 sqlite3_config(SQLITE_CONFIG_LOG, fossil_sqlite_log, 0);
421 memset(&g, 0, sizeof(g));
422
--- src/main.c
+++ src/main.c
@@ -86,11 +86,12 @@
86 ** All Tcl related context information is in this structure. This structure
87 ** definition has been copied from and should be kept in sync with the one in
88 ** "th_tcl.c".
89 */
90 struct TclContext {
91 int argc;
92 char **argv;
93 Tcl_Interp *interp;
94 };
95 #endif
96
97 /*
@@ -411,11 +412,12 @@
412 int idx;
413 int rc;
414 int i;
415
416 #ifdef FOSSIL_ENABLE_TCL
417 g.tcl.argc = argc;
418 g.tcl.argv = argv;
419 g.tcl.interp = 0;
420 #endif
421
422 sqlite3_config(SQLITE_CONFIG_LOG, fossil_sqlite_log, 0);
423 memset(&g, 0, sizeof(g));
424
+5 -4
--- src/th_tcl.c
+++ src/th_tcl.c
@@ -93,11 +93,12 @@
9393
/*
9494
** Tcl context information used by TH1. This structure definition has been
9595
** copied from and should be kept in sync with the one in "main.c".
9696
*/
9797
struct TclContext {
98
- char *argv0;
98
+ int argc;
99
+ char **argv;
99100
Tcl_Interp *interp;
100101
};
101102
102103
/*
103104
** Syntax:
@@ -340,11 +341,11 @@
340341
341342
/*
342343
** Array of Tcl integration commands. Used when adding or removing the Tcl
343344
** integration commands from TH1.
344345
*/
345
-static const struct _Command {
346
+static struct _Command {
346347
const char *zName;
347348
Th_CommandProc xProc;
348349
void *pContext;
349350
} aCommand[] = {
350351
{"tclEval", tclEval_command, 0},
@@ -388,12 +389,12 @@
388389
return TH_ERROR;
389390
}
390391
if ( tclContext->interp ){
391392
return TH_OK;
392393
}
393
- if ( tclContext->argv0 ){
394
- Tcl_FindExecutable(tclContext->argv0);
394
+ if ( tclContext->argc>0 && tclContext->argv ) {
395
+ Tcl_FindExecutable(tclContext->argv[0]);
395396
}
396397
tclInterp = tclContext->interp = Tcl_CreateInterp();
397398
if( !tclInterp || Tcl_InterpDeleted(tclInterp) ){
398399
Th_ErrorMessage(interp,
399400
"Could not create Tcl interpreter", (const char *)"", 0);
400401
--- src/th_tcl.c
+++ src/th_tcl.c
@@ -93,11 +93,12 @@
93 /*
94 ** Tcl context information used by TH1. This structure definition has been
95 ** copied from and should be kept in sync with the one in "main.c".
96 */
97 struct TclContext {
98 char *argv0;
 
99 Tcl_Interp *interp;
100 };
101
102 /*
103 ** Syntax:
@@ -340,11 +341,11 @@
340
341 /*
342 ** Array of Tcl integration commands. Used when adding or removing the Tcl
343 ** integration commands from TH1.
344 */
345 static const struct _Command {
346 const char *zName;
347 Th_CommandProc xProc;
348 void *pContext;
349 } aCommand[] = {
350 {"tclEval", tclEval_command, 0},
@@ -388,12 +389,12 @@
388 return TH_ERROR;
389 }
390 if ( tclContext->interp ){
391 return TH_OK;
392 }
393 if ( tclContext->argv0 ){
394 Tcl_FindExecutable(tclContext->argv0);
395 }
396 tclInterp = tclContext->interp = Tcl_CreateInterp();
397 if( !tclInterp || Tcl_InterpDeleted(tclInterp) ){
398 Th_ErrorMessage(interp,
399 "Could not create Tcl interpreter", (const char *)"", 0);
400
--- src/th_tcl.c
+++ src/th_tcl.c
@@ -93,11 +93,12 @@
93 /*
94 ** Tcl context information used by TH1. This structure definition has been
95 ** copied from and should be kept in sync with the one in "main.c".
96 */
97 struct TclContext {
98 int argc;
99 char **argv;
100 Tcl_Interp *interp;
101 };
102
103 /*
104 ** Syntax:
@@ -340,11 +341,11 @@
341
342 /*
343 ** Array of Tcl integration commands. Used when adding or removing the Tcl
344 ** integration commands from TH1.
345 */
346 static struct _Command {
347 const char *zName;
348 Th_CommandProc xProc;
349 void *pContext;
350 } aCommand[] = {
351 {"tclEval", tclEval_command, 0},
@@ -388,12 +389,12 @@
389 return TH_ERROR;
390 }
391 if ( tclContext->interp ){
392 return TH_OK;
393 }
394 if ( tclContext->argc>0 && tclContext->argv ) {
395 Tcl_FindExecutable(tclContext->argv[0]);
396 }
397 tclInterp = tclContext->interp = Tcl_CreateInterp();
398 if( !tclInterp || Tcl_InterpDeleted(tclInterp) ){
399 Th_ErrorMessage(interp,
400 "Could not create Tcl interpreter", (const char *)"", 0);
401

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button