summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclBasic.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index b39d346..27992f6 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -6268,7 +6268,7 @@ ProcessUnexpectedResult(
* result code was returned. */
int returnCode) /* The unexpected result code. */
{
- char buf[TCL_INTEGER_SPACE];
+ Tcl_Obj *errorObj = Tcl_NewObj();
Tcl_ResetResult(interp);
if (returnCode == TCL_BREAK) {
@@ -6281,8 +6281,11 @@ ProcessUnexpectedResult(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"command returned bad code: %d", returnCode));
}
- sprintf(buf, "%d", returnCode);
- Tcl_SetErrorCode(interp, "TCL", "UNEXPECTED_RESULT_CODE", buf, NULL);
+ Tcl_ListObjAppendElement(NULL, errorObj, Tcl_NewStringObj("TCL", -1));
+ Tcl_ListObjAppendElement(NULL, errorObj, Tcl_NewStringObj(
+ "UNEXPECTED_RESULT_CODE", -1));
+ Tcl_ListObjAppendElement(NULL, errorObj, Tcl_NewIntObj(returnCode));
+ Tcl_SetObjErrorCode(interp, errorObj);
}
/*