From 7b0e9cef6051f9c59269659da34e1744d074080e Mon Sep 17 00:00:00 2001 From: dkf Date: Tue, 25 Sep 2018 07:27:31 +0000 Subject: More correct variable existence checks --- generic/tclVar.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/generic/tclVar.c b/generic/tclVar.c index 6bcd8d8..fbe43ac 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -6535,7 +6535,7 @@ ArrayDefaultCmd( Tcl_WrongNumArgs(interp, 2, objv, "arrayName"); return TCL_ERROR; } - if (!varPtr || !isArray) { + if (!varPtr || TclIsVarUndefined(varPtr) || !isArray) { return NotArrayError(interp, arrayNameObj); } @@ -6621,11 +6621,11 @@ ArrayDefaultCmd( Tcl_WrongNumArgs(interp, 2, objv, "arrayName"); return TCL_ERROR; } - if (varPtr && !isArray) { - return NotArrayError(interp, arrayNameObj); - } - - if (varPtr) { + + if (varPtr && !TclIsVarUndefined(varPtr)) { + if (!isArray) { + return NotArrayError(interp, arrayNameObj); + } SetArrayDefault(varPtr, NULL); } return TCL_OK; -- cgit v0.12