diff options
| author | apnadkarni <apnmbx-wits@yahoo.com> | 2024-05-28 03:02:13 (GMT) |
|---|---|---|
| committer | apnadkarni <apnmbx-wits@yahoo.com> | 2024-05-28 03:02:13 (GMT) |
| commit | 6be516b44a873f6ced4a54f374e2eb4be624a6ce (patch) | |
| tree | 3b7b8cfca0bef90c815c93d85ac285800be6a935 /generic/tclEvent.c | |
| parent | c6139c195316122d0e72fde74fcaac9b1f7f9dc5 (diff) | |
| parent | 978c979608e7c2abc738ff8e3ac4f472dd893316 (diff) | |
| download | tcl-6be516b44a873f6ced4a54f374e2eb4be624a6ce.zip tcl-6be516b44a873f6ced4a54f374e2eb4be624a6ce.tar.gz tcl-6be516b44a873f6ced4a54f374e2eb4be624a6ce.tar.bz2 | |
Merge trunk
Diffstat (limited to 'generic/tclEvent.c')
| -rw-r--r-- | generic/tclEvent.c | 48 |
1 files changed, 16 insertions, 32 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 60a8924..028813c 100644 --- a/generic/tclEvent.c +++ b/generic/tclEvent.c @@ -275,13 +275,9 @@ HandleBgErrors( if (errChannel != NULL) { Tcl_Obj *options = Tcl_GetReturnOptions(interp, code); - Tcl_Obj *keyPtr, *valuePtr = NULL; - - TclNewLiteralStringObj(keyPtr, "-errorinfo"); - Tcl_IncrRefCount(keyPtr); - Tcl_DictObjGet(NULL, options, keyPtr, &valuePtr); - Tcl_DecrRefCount(keyPtr); + Tcl_Obj *valuePtr = NULL; + TclDictGet(NULL, options, "-errorinfo", &valuePtr); Tcl_WriteChars(errChannel, "error in background error handler:\n", -1); if (valuePtr) { @@ -329,7 +325,7 @@ TclDefaultBgErrorHandlerObjCmd( int objc, /* Number of arguments. */ Tcl_Obj *const objv[]) /* Argument objects. */ { - Tcl_Obj *keyPtr, *valuePtr; + Tcl_Obj *valuePtr; Tcl_Obj *tempObjv[2]; int result, code, level; Tcl_InterpState saved; @@ -343,27 +339,21 @@ TclDefaultBgErrorHandlerObjCmd( * Check for a valid return options dictionary. */ - TclNewLiteralStringObj(keyPtr, "-level"); - Tcl_IncrRefCount(keyPtr); - result = Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr); - Tcl_DecrRefCount(keyPtr); + result = TclDictGet(NULL, objv[2], "-level", &valuePtr); if (result != TCL_OK || valuePtr == NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "missing return option \"-level\"", -1)); - Tcl_SetErrorCode(interp, "TCL", "ARGUMENT", "MISSING", (void *)NULL); + Tcl_SetErrorCode(interp, "TCL", "ARGUMENT", "MISSING", (char *)NULL); return TCL_ERROR; } if (Tcl_GetIntFromObj(interp, valuePtr, &level) == TCL_ERROR) { return TCL_ERROR; } - TclNewLiteralStringObj(keyPtr, "-code"); - Tcl_IncrRefCount(keyPtr); - result = Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr); - Tcl_DecrRefCount(keyPtr); + result = TclDictGet(NULL, objv[2], "-code", &valuePtr); if (result != TCL_OK || valuePtr == NULL) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "missing return option \"-code\"", -1)); - Tcl_SetErrorCode(interp, "TCL", "ARGUMENT", "MISSING", (void *)NULL); + Tcl_SetErrorCode(interp, "TCL", "ARGUMENT", "MISSING", (char *)NULL); return TCL_ERROR; } if (Tcl_GetIntFromObj(interp, valuePtr, &code) == TCL_ERROR) { @@ -421,18 +411,12 @@ TclDefaultBgErrorHandlerObjCmd( Tcl_SetObjResult(interp, tempObjv[1]); } - TclNewLiteralStringObj(keyPtr, "-errorcode"); - Tcl_IncrRefCount(keyPtr); - result = Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr); - Tcl_DecrRefCount(keyPtr); + result = TclDictGet(NULL, objv[2], "-errorcode", &valuePtr); if (result == TCL_OK && valuePtr != NULL) { Tcl_SetObjErrorCode(interp, valuePtr); } - TclNewLiteralStringObj(keyPtr, "-errorinfo"); - Tcl_IncrRefCount(keyPtr); - result = Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr); - Tcl_DecrRefCount(keyPtr); + result = TclDictGet(NULL, objv[2], "-errorinfo", &valuePtr); if (result == TCL_OK && valuePtr != NULL) { Tcl_AppendObjToErrorInfo(interp, valuePtr); } @@ -1579,7 +1563,7 @@ Tcl_VwaitObjCmd( Tcl_ResetResult(interp); Tcl_SetObjResult(interp, Tcl_ObjPrintf( "argument required for \"%s\"", vWaitOptionStrings[index])); - Tcl_SetErrorCode(interp, "TCL", "EVENT", "ARGUMENT", (void *)NULL); + Tcl_SetErrorCode(interp, "TCL", "EVENT", "ARGUMENT", (char *)NULL); result = TCL_ERROR; goto done; } @@ -1591,7 +1575,7 @@ Tcl_VwaitObjCmd( Tcl_ResetResult(interp); Tcl_SetObjResult(interp, Tcl_NewStringObj( "timeout must be positive", -1)); - Tcl_SetErrorCode(interp, "TCL", "EVENT", "NEGTIME", (void *)NULL); + Tcl_SetErrorCode(interp, "TCL", "EVENT", "NEGTIME", (char *)NULL); result = TCL_ERROR; goto done; } @@ -1671,7 +1655,7 @@ Tcl_VwaitObjCmd( TCL_TIMER_EVENTS | TCL_WINDOW_EVENTS)) == 0) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "can't wait: would block forever", -1)); - Tcl_SetErrorCode(interp, "TCL", "EVENT", "NO_SOURCES", (void *)NULL); + Tcl_SetErrorCode(interp, "TCL", "EVENT", "NO_SOURCES", (char *)NULL); result = TCL_ERROR; goto done; } @@ -1679,7 +1663,7 @@ Tcl_VwaitObjCmd( if ((timeout > 0) && ((mask & TCL_TIMER_EVENTS) == 0)) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "timer events disabled with timeout specified", -1)); - Tcl_SetErrorCode(interp, "TCL", "EVENT", "NO_TIME", (void *)NULL); + Tcl_SetErrorCode(interp, "TCL", "EVENT", "NO_TIME", (char *)NULL); result = TCL_ERROR; goto done; } @@ -1707,7 +1691,7 @@ Tcl_VwaitObjCmd( if (vwaitItems[i].mask) { Tcl_SetObjResult(interp, Tcl_NewStringObj( "file events disabled with channel(s) specified", -1)); - Tcl_SetErrorCode(interp, "TCL", "EVENT", "NO_FILE_EVENT", (void *)NULL); + Tcl_SetErrorCode(interp, "TCL", "EVENT", "NO_FILE_EVENT", (char *)NULL); result = TCL_ERROR; goto done; } @@ -1746,7 +1730,7 @@ Tcl_VwaitObjCmd( if (Tcl_LimitExceeded(interp)) { Tcl_ResetResult(interp); Tcl_SetObjResult(interp, Tcl_NewStringObj("limit exceeded", -1)); - Tcl_SetErrorCode(interp, "TCL", "EVENT", "LIMIT", (void *)NULL); + Tcl_SetErrorCode(interp, "TCL", "EVENT", "LIMIT", (char *)NULL); break; } if ((numItems == 0) && (timeout == 0)) { @@ -1766,7 +1750,7 @@ Tcl_VwaitObjCmd( "can't wait: would wait forever" : "can't wait for variable(s)/channel(s): would wait forever", -1)); - Tcl_SetErrorCode(interp, "TCL", "EVENT", "NO_SOURCES", (void *)NULL); + Tcl_SetErrorCode(interp, "TCL", "EVENT", "NO_SOURCES", (char *)NULL); result = TCL_ERROR; goto done; } |
