diff options
author | fcolin | 2003-09-18 16:02:35 +0000 |
---|---|---|
committer | fcolin | 2003-09-18 16:02:35 +0000 |
commit | a63156c020986c664adc93b77202dd23943a0b3e (patch) | |
tree | 1d0c08d56d005ffce4823f3e00c4de1a62d47661 /src | |
parent | 8b739276f712bc8c5056a7be3cbfd1046c99234f (diff) | |
download | ivy-c-a63156c020986c664adc93b77202dd23943a0b3e.zip ivy-c-a63156c020986c664adc93b77202dd23943a0b3e.tar.gz ivy-c-a63156c020986c664adc93b77202dd23943a0b3e.tar.bz2 ivy-c-a63156c020986c664adc93b77202dd23943a0b3e.tar.xz |
modif callback argument ( c'etait tres merdique avant )
pas de possibilite de mettre des blancs dans les arguments
Diffstat (limited to 'src')
-rwxr-xr-x | src/ivytcl.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/ivytcl.c b/src/ivytcl.c index c3461bd..bdb2a55 100755 --- a/src/ivytcl.c +++ b/src/ivytcl.c @@ -164,9 +164,10 @@ IvyAppCB(IvyClientPtr app, else { strcat(script_to_call, "???"); } - strcat(script_to_call, " "); + strcat(script_to_call, " \""); strcat(script_to_call, app_event_str[event%2]); - + strcat(script_to_call, "\""); + Tcl_Preserve(filter->interp); result = Tcl_GlobalEval(filter->interp, script_to_call); ckfree(script_to_call); @@ -197,8 +198,9 @@ IvyDieCB(IvyClientPtr app, size = strlen(filter->script) + INTEGER_SPACE + 1; script_to_call = ckalloc(size); strcpy(script_to_call, filter->script); - strcat(script_to_call, " "); + strcat(script_to_call, " \""); strcat(script_to_call, idstr); + strcat(script_to_call, "\""); Tcl_Preserve(filter->interp); result = Tcl_GlobalEval(filter->interp, script_to_call); @@ -220,18 +222,20 @@ IvyMsgCB(IvyClientPtr app, int result, i, size; char *script_to_call; - size = strlen(filter->script) + 1; + size = strlen(filter->script) + 3; for (i = 0; i < argc; i++) { - size += strlen(argv[i]) + 1; + size += strlen(argv[i]) + 3; } size ++; script_to_call = ckalloc(size); strcpy(script_to_call, filter->script); - strcat(script_to_call, " "); + strcat(script_to_call, " {"); for (i = 0; i < argc; i++) { - strcat(script_to_call, argv[i]); - strcat(script_to_call, " "); + strcat(script_to_call, "\""); + strcat(script_to_call, argv[i]); + strcat(script_to_call, "\" "); } + strcat(script_to_call, "}"); Tcl_Preserve(filter->interp); result = Tcl_GlobalEval(filter->interp, script_to_call); @@ -264,8 +268,9 @@ IvyDirectMsgCB(IvyClientPtr app, strcpy(script_to_call, filter->script); strcat(script_to_call, " "); strcat(script_to_call, int_buffer); - strcat(script_to_call, " "); + strcat(script_to_call, " \""); strcat(script_to_call, msg); + strcat(script_to_call, "\""); Tcl_Preserve(filter->interp); result = Tcl_GlobalEval(filter->interp, script_to_call); |