diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-11-19 08:57:49 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2020-11-19 08:57:49 (GMT) |
| commit | 14ec7c1d858d00e7c69c80c28cf599095dd3feaf (patch) | |
| tree | c1bbe67b99dbfd4a521682975956b358f53f7bb2 /generic/tclBinary.c | |
| parent | 72c49f69099c98bd55334dbad3d68645c72bc707 (diff) | |
| parent | 8e1f957a669b2f4b84dca7e8a27f2985c0625172 (diff) | |
| download | tcl-14ec7c1d858d00e7c69c80c28cf599095dd3feaf.zip tcl-14ec7c1d858d00e7c69c80c28cf599095dd3feaf.tar.gz tcl-14ec7c1d858d00e7c69c80c28cf599095dd3feaf.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; |
