summaryrefslogtreecommitdiffstats
path: root/generic/tclProc.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2018-09-21 09:29:24 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2018-09-21 09:29:24 (GMT)
commitd025ae5c08c20fe811f1917da0408e1f23768786 (patch)
tree66859d52f14255fb384c2699df0a8143a7b39b77 /generic/tclProc.c
parentfbef9aa84089336e767f0dafe410df51b4f1d3b3 (diff)
parentbd42171094d5ada2e2e46978f2e842a66b6fa44e (diff)
downloadtcl-d025ae5c08c20fe811f1917da0408e1f23768786.zip
tcl-d025ae5c08c20fe811f1917da0408e1f23768786.tar.gz
tcl-d025ae5c08c20fe811f1917da0408e1f23768786.tar.bz2
merge core-8-branch
Diffstat (limited to 'generic/tclProc.c')
-rw-r--r--generic/tclProc.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/generic/tclProc.c b/generic/tclProc.c
index 212b680..8a6d4e4 100644
--- a/generic/tclProc.c
+++ b/generic/tclProc.c
@@ -505,10 +505,11 @@ TclCreateProc(
goto procError;
}
- nameLength = Tcl_NumUtfChars(Tcl_GetString(fieldValues[0]), fieldValues[0]->length);
+ argname = Tcl_GetStringFromObj(fieldValues[0], &plen);
+ nameLength = Tcl_NumUtfChars(argname, plen);
if (fieldCount == 2) {
- valueLength = Tcl_NumUtfChars(Tcl_GetString(fieldValues[1]),
- fieldValues[1]->length);
+ const char * value = TclGetString(fieldValues[1]);
+ valueLength = Tcl_NumUtfChars(value, fieldValues[1]->length);
} else {
valueLength = 0;
}
@@ -517,7 +518,6 @@ TclCreateProc(
* Check that the formal parameter name is a scalar.
*/
- argname = Tcl_GetStringFromObj(fieldValues[0], &plen);
argnamei = argname;
argnamelast = argname[plen-1];
while (plen--) {
@@ -611,7 +611,7 @@ TclCreateProc(
procPtr->lastLocalPtr = localPtr;
}
localPtr->nextPtr = NULL;
- localPtr->nameLength = Tcl_NumUtfChars(argname, fieldValues[0]->length);
+ localPtr->nameLength = nameLength;
localPtr->frameIndex = i;
localPtr->flags = VAR_ARGUMENT;
localPtr->resolveInfo = NULL;