summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfcolin2003-09-18 16:02:35 +0000
committerfcolin2003-09-18 16:02:35 +0000
commita63156c020986c664adc93b77202dd23943a0b3e (patch)
tree1d0c08d56d005ffce4823f3e00c4de1a62d47661 /src
parent8b739276f712bc8c5056a7be3cbfd1046c99234f (diff)
downloadivy-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-xsrc/ivytcl.c23
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);