summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2018-03-14 18:08:55 (GMT)
committerdgp <dgp@users.sourceforge.net>2018-03-14 18:08:55 (GMT)
commitd0bce3e99feecf727c865701f12b9c74d2b8a35c (patch)
tree4efb1f0020cd1e6d451c34a30e0586dd5cb4ec61
parent43f670e530b608c214f52ccc187f4fb5756a0256 (diff)
parent1bf60bab3cd706cba08c15df5a6a5267d918aeae (diff)
downloadtcl-d0bce3e99feecf727c865701f12b9c74d2b8a35c.zip
tcl-d0bce3e99feecf727c865701f12b9c74d2b8a35c.tar.gz
tcl-d0bce3e99feecf727c865701f12b9c74d2b8a35c.tar.bz2
merge 8.6
-rw-r--r--generic/tclExecute.c7
-rw-r--r--generic/tclUtil.c6
2 files changed, 4 insertions, 9 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index ad09713..f294272 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -5644,12 +5644,7 @@ TEBCresume(
value2Ptr = OBJ_AT_TOS; /* TrimSet */
string2 = TclGetStringFromObj(value2Ptr, &length2);
string1 = TclGetStringFromObj(valuePtr, &length);
- trim1 = TclTrimLeft(string1, length, string2, length2);
- if (trim1 < length) {
- trim2 = TclTrimRight(string1, length, string2, length2);
- } else {
- trim2 = 0;
- }
+ trim1 = TclTrim(string1, length, string2, length2, &trim2);
createTrimmedString:
/*
* Careful here; trim set often contains non-ASCII characters so we
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index 3fbc325..0ba6c8e 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.c
@@ -1903,9 +1903,9 @@ TclTrim(
int trimLeft;
Tcl_DString bytesBuf, trimBuf;
+ *trimRight = 0;
/* Empty strings -> nothing to do */
if ((numBytes == 0) || (numTrim == 0)) {
- *trimRight = 0;
return 0;
}
@@ -1919,8 +1919,8 @@ TclTrim(
trimLeft = numBytes;
}
numBytes -= trimLeft;
- *trimRight = 0;
- if (numBytes) {
+ /* have to trim yet (first char was already verified within TrimLeft) */
+ if (numBytes > 1) {
bytes += trimLeft;
*trimRight = TrimRight(bytes, numBytes, trim, numTrim);
if (*trimRight > numBytes) {