diff options
| author | dkf <donal.k.fellows@manchester.ac.uk> | 2018-09-21 09:29:24 (GMT) |
|---|---|---|
| committer | dkf <donal.k.fellows@manchester.ac.uk> | 2018-09-21 09:29:24 (GMT) |
| commit | d025ae5c08c20fe811f1917da0408e1f23768786 (patch) | |
| tree | 66859d52f14255fb384c2699df0a8143a7b39b77 /generic/tclProc.c | |
| parent | fbef9aa84089336e767f0dafe410df51b4f1d3b3 (diff) | |
| parent | bd42171094d5ada2e2e46978f2e842a66b6fa44e (diff) | |
| download | tcl-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.c | 10 |
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; |
