Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | TclTrim: special case for TrimRight on single char result of TrimLeft (this char is already verified within TrimLeft, so bypass TrimRight at all) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | core-8-5-branch |
Files: | files | file ages | folders |
SHA3-256: |
96a6332cff9c4914069d3e5b830b9918 |
User & Date: | sebres 2018-03-14 17:17:44.402 |
References
2018-03-14
| ||
17:39 | • Ticket [de243b694d] Several trim mechanisms cause segfault / wrong check for NTS status still Closed with 5 other changes artifact: 6d2272c22e user: sebres | |
Context
2018-04-07
| ||
16:55 | Correct out-of-date documentation for [string is]. check-in: c3a1f0b5e9 user: dgp tags: core-8-5-branch | |
2018-03-22
| ||
16:22 | win: fixes check of file permissions (readable, writable, executable) - more faster and stable solut... check-in: 0bce348e6b user: sebres tags: fix-1613456fff | |
2018-03-14
| ||
17:19 | merge 8.5 check-in: d1142036a0 user: sebres tags: core-8-6-branch | |
17:17 | TclTrim: special case for TrimRight on single char result of TrimLeft (this char is already verified... check-in: 96a6332cff user: sebres tags: core-8-5-branch | |
00:45 | TclTrim must write to *trimRight even when making a quick exit. check-in: 8b3e6a3ee5 user: dgp tags: core-8-5-branch | |
Changes
Changes to generic/tclUtil.c.
︙ | ︙ | |||
1734 1735 1736 1737 1738 1739 1740 1741 1742 | const char *trim, /* String of trim characters... */ int numTrim, /* ...and its length in bytes */ int *trimRight) /* Offset from the end of the string. */ { int trimLeft; Tcl_DString bytesBuf, trimBuf; /* Empty strings -> nothing to do */ if ((numBytes == 0) || (numTrim == 0)) { | > < | | | 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 | const char *trim, /* String of trim characters... */ int numTrim, /* ...and its length in bytes */ int *trimRight) /* Offset from the end of the string. */ { int trimLeft; Tcl_DString bytesBuf, trimBuf; *trimRight = 0; /* Empty strings -> nothing to do */ if ((numBytes == 0) || (numTrim == 0)) { return 0; } Tcl_DStringInit(&bytesBuf); Tcl_DStringInit(&trimBuf); bytes = UtfWellFormedEnd(&bytesBuf, bytes, numBytes); trim = UtfWellFormedEnd(&trimBuf, trim, numTrim); trimLeft = TrimLeft(bytes, numBytes, trim, numTrim); if (trimLeft > numBytes) { trimLeft = numBytes; } numBytes -= trimLeft; /* 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) { *trimRight = numBytes; } } |
︙ | ︙ |