diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-11-20 08:44:50 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-11-20 08:44:50 (GMT) |
| commit | 58bf5b79b7e9fa16903e3796a77e212afee94d31 (patch) | |
| tree | 9feb76440f135ff89af5134b4fd628d86362555f /generic/tclBinary.c | |
| parent | 8adc51759b00eaa8623cd08ccbacda003fad7de3 (diff) | |
| parent | b4cc01c658143a39215acceca4a5702dfba1a69b (diff) | |
| download | tcl-58bf5b79b7e9fa16903e3796a77e212afee94d31.zip tcl-58bf5b79b7e9fa16903e3796a77e212afee94d31.tar.gz tcl-58bf5b79b7e9fa16903e3796a77e212afee94d31.tar.bz2 | |
Merge 8.7
Diffstat (limited to 'generic/tclBinary.c')
| -rw-r--r-- | generic/tclBinary.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/generic/tclBinary.c b/generic/tclBinary.c index f53c707..8a3541b 100644 --- a/generic/tclBinary.c +++ b/generic/tclBinary.c @@ -1518,7 +1518,8 @@ BinaryScanCmd( } switch (cmd) { case 'a': - case 'A': { + case 'A': + case 'C': { unsigned char *src; if (arg >= objc) { @@ -1540,10 +1541,18 @@ BinaryScanCmd( size = count; /* - * Trim trailing nulls and spaces, if necessary. + * Apply C string semantics or trim trailing + * nulls and spaces, if necessary. */ - if (cmd == 'A') { + if (cmd == 'C') { + for (i = 0; i < size; i++) { + if (src[i] == '\0') { + size = i; + break; + } + } + } else if (cmd == 'A') { while (size > 0) { if (src[size - 1] != '\0' && src[size - 1] != ' ') { break; |
