diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-05-03 14:47:37 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-05-03 14:47:37 (GMT) |
commit | e1d323bc1b41ad79581edc6fe40f4b0f688377ac (patch) | |
tree | f9058725614f7fa93f3d889138066aae4033dcbd /generic/tclTrace.c | |
parent | 7b688527d719054d95ce6e5313830d6dd9d50a25 (diff) | |
download | tcl-e1d323bc1b41ad79581edc6fe40f4b0f688377ac.zip tcl-e1d323bc1b41ad79581edc6fe40f4b0f688377ac.tar.gz tcl-e1d323bc1b41ad79581edc6fe40f4b0f688377ac.tar.bz2 |
TIP #666 implementation
Diffstat (limited to 'generic/tclTrace.c')
-rw-r--r-- | generic/tclTrace.c | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/generic/tclTrace.c b/generic/tclTrace.c index 0b1606a..586c4e9 100644 --- a/generic/tclTrace.c +++ b/generic/tclTrace.c @@ -2137,57 +2137,6 @@ TraceVarProc( *---------------------------------------------------------------------- */ -typedef struct { - Tcl_CmdObjTraceProc2 *proc; - Tcl_CmdObjTraceDeleteProc *delProc; - void *clientData; -} TraceWrapperInfo; - -static int traceWrapperProc( - void *clientData, - Tcl_Interp *interp, - Tcl_Size level, - const char *command, - Tcl_Command commandInfo, - Tcl_Size objc, - Tcl_Obj *const objv[]) -{ - TraceWrapperInfo *info = (TraceWrapperInfo *)clientData; - if (objc < 0) { - objc = -1; /* Signal Tcl_CmdObjTraceProc that objc is out of range */ - } - return info->proc(info->clientData, interp, level, command, commandInfo, objc, objv); -} - -static void traceWrapperDelProc(void *clientData) -{ - TraceWrapperInfo *info = (TraceWrapperInfo *)clientData; - clientData = info->clientData; - if (info->delProc) { - info->delProc(clientData); - } - ckfree(info); -} - -Tcl_Trace -Tcl_CreateObjTrace2( - Tcl_Interp *interp, /* Tcl interpreter */ - Tcl_Size level, /* Maximum nesting level */ - int flags, /* Flags, see above */ - Tcl_CmdObjTraceProc2 *proc, /* Trace callback */ - void *clientData, /* Client data for the callback */ - Tcl_CmdObjTraceDeleteProc *delProc) - /* Function to call when trace is deleted */ -{ - TraceWrapperInfo *info = (TraceWrapperInfo *)ckalloc(sizeof(TraceWrapperInfo)); - info->proc = proc; - info->delProc = delProc; - info->clientData = clientData; - return Tcl_CreateObjTrace(interp, level, flags, - (proc ? traceWrapperProc : NULL), - info, traceWrapperDelProc); -} - Tcl_Trace Tcl_CreateObjTrace( Tcl_Interp *interp, /* Tcl interpreter */ |