summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
diff options
context:
space:
mode:
authorhobbs <hobbs@noemail.net>2002-07-26 21:41:47 (GMT)
committerhobbs <hobbs@noemail.net>2002-07-26 21:41:47 (GMT)
commitda39fdf3a6ec2014a815ab6a6d90365316094686 (patch)
tree2be25626803c655641b1c0d420c2bcfb2deee9d8 /generic/tclVar.c
parent75b5903a1e0f232bc6d3819153e49aff1c0ef4ff (diff)
downloadtcl-da39fdf3a6ec2014a815ab6a6d90365316094686.zip
tcl-da39fdf3a6ec2014a815ab6a6d90365316094686.tar.gz
tcl-da39fdf3a6ec2014a815ab6a6d90365316094686.tar.bz2
* generic/tclVar.c (TclLookupVar): removed early returns that
prevented the parens from being restored. also removed goto label as it was not necessary. FossilOrigin-Name: 997e3c748ad22d15b7cb1319b18d235dcbaedfe9
Diffstat (limited to 'generic/tclVar.c')
-rw-r--r--generic/tclVar.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/generic/tclVar.c b/generic/tclVar.c
index cf45c5c..4dcd4c4 100644
--- a/generic/tclVar.c
+++ b/generic/tclVar.c
@@ -15,7 +15,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclVar.c,v 1.60 2002/07/17 20:42:27 msofer Exp $
+ * RCS: @(#) $Id: tclVar.c,v 1.61 2002/07/26 21:41:48 hobbs Exp $
*/
#include "tclInt.h"
@@ -240,11 +240,10 @@ TclLookupVar(interp, part1, part2, flags, msg, createPart1, createPart2,
p--;
if (*p == ')') {
if (part2 != NULL) {
- openParen = NULL;
if (flags & TCL_LEAVE_ERR_MSG) {
VarErrMsg(interp, part1, part2, msg, needArray);
}
- goto done;
+ return NULL;
}
closeParen = p;
*openParen = 0;
@@ -263,20 +262,17 @@ TclLookupVar(interp, part1, part2, flags, msg, createPart1, createPart2,
if ((errMsg != NULL) && (flags & TCL_LEAVE_ERR_MSG)) {
VarErrMsg(interp, part1, elName, msg, errMsg);
}
- return NULL;
- }
-
- while (TclIsVarLink(varPtr)) {
- varPtr = varPtr->value.linkPtr;
- }
- if (elName == NULL) {
- return varPtr;
+ } else {
+ while (TclIsVarLink(varPtr)) {
+ varPtr = varPtr->value.linkPtr;
+ }
+ if (elName != NULL) {
+ *arrayPtrPtr = varPtr;
+ varPtr = TclLookupArrayElement(interp, part1, elName, flags,
+ msg, createPart1, createPart2, varPtr);
+ }
}
- *arrayPtrPtr = varPtr;
- varPtr = TclLookupArrayElement(interp, part1, elName, flags,
- msg, createPart1, createPart2, varPtr);
- done:
if (openParen != NULL) {
*openParen = '(';
*closeParen = ')';