summaryrefslogtreecommitdiffstats
path: root/generic/tclProc.c
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2018-09-07 12:02:25 (GMT)
committersebres <sebres@users.sourceforge.net>2018-09-07 12:02:25 (GMT)
commite94df653503422912da11308867c163c0382c50c (patch)
treee2b7d7ba7122d6e1dbbe4e6ae034253d7f2e1668 /generic/tclProc.c
parent5c9968a001208bb4fc6d06ad040c28bd84b7831f (diff)
parente80eaec4d3430e0db5f54dde5059821f35e77637 (diff)
downloadtcl-e94df653503422912da11308867c163c0382c50c.zip
tcl-e94df653503422912da11308867c163c0382c50c.tar.gz
tcl-e94df653503422912da11308867c163c0382c50c.tar.bz2
merge 8.6 (segfault fix)
Diffstat (limited to 'generic/tclProc.c')
-rw-r--r--generic/tclProc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/generic/tclProc.c b/generic/tclProc.c
index 212b680..a9eb5be 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--) {