Update to 8.5.19
This commit is contained in:
@@ -259,7 +259,7 @@ HandleBgErrors(
|
||||
|
||||
if (errChannel != (Tcl_Channel) NULL) {
|
||||
Tcl_Obj *options = Tcl_GetReturnOptions(interp, code);
|
||||
Tcl_Obj *keyPtr, *valuePtr;
|
||||
Tcl_Obj *keyPtr, *valuePtr = NULL;
|
||||
|
||||
TclNewLiteralStringObj(keyPtr, "-errorinfo");
|
||||
Tcl_IncrRefCount(keyPtr);
|
||||
@@ -311,7 +311,7 @@ TclDefaultBgErrorHandlerObjCmd(
|
||||
{
|
||||
Tcl_Obj *keyPtr, *valuePtr;
|
||||
Tcl_Obj *tempObjv[2];
|
||||
int code, level;
|
||||
int result, code, level;
|
||||
Tcl_InterpState saved;
|
||||
|
||||
if (objc != 3) {
|
||||
@@ -325,9 +325,9 @@ TclDefaultBgErrorHandlerObjCmd(
|
||||
|
||||
TclNewLiteralStringObj(keyPtr, "-level");
|
||||
Tcl_IncrRefCount(keyPtr);
|
||||
Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr);
|
||||
result = Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr);
|
||||
Tcl_DecrRefCount(keyPtr);
|
||||
if (valuePtr == NULL) {
|
||||
if (result != TCL_OK || valuePtr == NULL) {
|
||||
Tcl_SetObjResult(interp, Tcl_NewStringObj(
|
||||
"missing return option \"-level\"", -1));
|
||||
return TCL_ERROR;
|
||||
@@ -337,9 +337,9 @@ TclDefaultBgErrorHandlerObjCmd(
|
||||
}
|
||||
TclNewLiteralStringObj(keyPtr, "-code");
|
||||
Tcl_IncrRefCount(keyPtr);
|
||||
Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr);
|
||||
result = Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr);
|
||||
Tcl_DecrRefCount(keyPtr);
|
||||
if (valuePtr == NULL) {
|
||||
if (result != TCL_OK || valuePtr == NULL) {
|
||||
Tcl_SetObjResult(interp, Tcl_NewStringObj(
|
||||
"missing return option \"-code\"", -1));
|
||||
return TCL_ERROR;
|
||||
@@ -394,17 +394,17 @@ TclDefaultBgErrorHandlerObjCmd(
|
||||
|
||||
TclNewLiteralStringObj(keyPtr, "-errorcode");
|
||||
Tcl_IncrRefCount(keyPtr);
|
||||
Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr);
|
||||
result = Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr);
|
||||
Tcl_DecrRefCount(keyPtr);
|
||||
if (valuePtr) {
|
||||
if (result == TCL_OK && valuePtr != NULL) {
|
||||
Tcl_SetObjErrorCode(interp, valuePtr);
|
||||
}
|
||||
|
||||
TclNewLiteralStringObj(keyPtr, "-errorinfo");
|
||||
Tcl_IncrRefCount(keyPtr);
|
||||
Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr);
|
||||
result = Tcl_DictObjGet(NULL, objv[2], keyPtr, &valuePtr);
|
||||
Tcl_DecrRefCount(keyPtr);
|
||||
if (valuePtr) {
|
||||
if (result == TCL_OK && valuePtr != NULL) {
|
||||
Tcl_AppendObjToErrorInfo(interp, valuePtr);
|
||||
}
|
||||
|
||||
@@ -418,7 +418,7 @@ TclDefaultBgErrorHandlerObjCmd(
|
||||
*/
|
||||
|
||||
saved = Tcl_SaveInterpState(interp, code);
|
||||
|
||||
|
||||
/* Invoke the bgerror command. */
|
||||
Tcl_AllowExceptions(interp);
|
||||
code = Tcl_EvalObjv(interp, 2, tempObjv, TCL_EVAL_GLOBAL);
|
||||
|
||||
Reference in New Issue
Block a user