summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2017-01-20 16:20:27 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2017-01-20 16:20:27 (GMT)
commitd1c1cbf476c6f0cc9596b6777a2fc5151be01cab (patch)
treee05eace4e55e50d7dc763192cec5e9a237556291
parent649902f7fa1502d2873ed4762c1284a1ebe6bee4 (diff)
parent4166996b429a91be751a1785a15e70cb3b4a314f (diff)
downloadtcl-d1c1cbf476c6f0cc9596b6777a2fc5151be01cab.zip
tcl-d1c1cbf476c6f0cc9596b6777a2fc5151be01cab.tar.gz
tcl-d1c1cbf476c6f0cc9596b6777a2fc5151be01cab.tar.bz2
Fix [39f6304c2e90549c209cd11a7920dc9921b9f48e|39f6304c2e] follow-up: Make Tcl_LinkVar toleranto to the empty string as well
-rw-r--r--generic/tclLink.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/generic/tclLink.c b/generic/tclLink.c
index 57fb18f..6741377 100644
--- a/generic/tclLink.c
+++ b/generic/tclLink.c
@@ -722,8 +722,8 @@ SetInvalidRealFromAny(Tcl_Interp *interp, Tcl_Obj *objPtr) {
/*
* This function checks for integer representations, which are valid
* when linking with C variables, but which are invalid in other
- * contexts in Tcl. Handled are "+", "-", "0x", "0b" and "0o" (upper-
- * and lowercase). See bug [39f6304c2e].
+ * contexts in Tcl. Handled are "", "+", "-", "0x", "0b" and "0o"
+ * (upperand lowercase). See bug [39f6304c2e].
*/
int
GetInvalidIntFromObj(Tcl_Obj *objPtr,
@@ -735,7 +735,8 @@ GetInvalidIntFromObj(Tcl_Obj *objPtr,
if ((length == 1) && strchr("+-", str[0])) {
*intPtr = (str[0] == '+');
return TCL_OK;
- } else if ((length == 2) && (str[0] == '0') && strchr("xXbBoO", str[1])) {
+ } else if ((length == 0) ||
+ ((length == 2) && (str[0] == '0') && strchr("xXbBoO", str[1]))) {
*intPtr = 0;
return TCL_OK;
}