Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [b98fa55285]: Fix handling of whitespace at end of hex strings to decode. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
3534dc020d1271ffe80700e41a620deb |
User & Date: | dkf 2013-09-01 20:08:50 |
Context
2013-09-02
| ||
14:01 | typo check-in: a5ab971f3d user: jan.nijtmans tags: trunk | |
13:44 | typo (+accidently cleared the execute bit of unix/configure) Closed-Leaf check-in: f3aaefccb3 user: jan.nijtmans tags: mistake | |
2013-09-01
| ||
20:08 | [b98fa55285]: Fix handling of whitespace at end of hex strings to decode. check-in: 3534dc020d user: dkf tags: trunk | |
2013-08-30
| ||
21:57 | Bump to tcltest 2.3.6 to account for changes since Tcl 8.6.0 release. check-in: 1fde5f0db3 user: dgp tags: trunk | |
Changes
Changes to ChangeLog.
1 2 3 4 5 6 7 | 2013-08-03 Donal Fellows <[email protected]> * library/auto.tcl: [Patch 3611643]: Allow TclOO classes to be found by the autoloading mechanism. 2013-08-02 Donal Fellows <[email protected]> | > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 | 2013-09-01 Donal Fellows <[email protected]> * generic/tclBinary.c (BinaryDecodeHex): [Bug b98fa55285]: Ensure that whitespace at the end of a string don't cause the decoder to drop the last decoded byte. 2013-08-03 Donal Fellows <[email protected]> * library/auto.tcl: [Patch 3611643]: Allow TclOO classes to be found by the autoloading mechanism. 2013-08-02 Donal Fellows <[email protected]> |
︙ | ︙ |
Changes to generic/tclBinary.c.
︙ | ︙ | |||
2382 2383 2384 2385 2386 2387 2388 | TclGetStringFromObj(objv[objc-1], &count); dataend = data + count; size = (count + 1) / 2; begin = cursor = Tcl_SetByteArrayLength(resultObj, size); while (data < dataend) { value = 0; for (i=0 ; i<2 ; i++) { | | | > | > > | | | | | | | > | | | | | | | | | < > | | < | 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 | TclGetStringFromObj(objv[objc-1], &count); dataend = data + count; size = (count + 1) / 2; begin = cursor = Tcl_SetByteArrayLength(resultObj, size); while (data < dataend) { value = 0; for (i=0 ; i<2 ; i++) { if (data >= dataend) { value <<= 4; break; } c = *data++; if (!isxdigit((int) c)) { if (strict || !isspace(c)) { goto badChar; } i--; continue; } value <<= 4; c -= '0'; if (c > 9) { c += ('0' - 'A') + 10; } if (c > 16) { c += ('A' - 'a'); } value |= (c & 0xf); } if (i < 2) { cut++; } *cursor++ = UCHAR(value); value = 0; } if (cut > size) { cut = size; } |
︙ | ︙ |
Changes to tests/binary.test.
︙ | ︙ | |||
2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 | test binary-71.9 {binary decode hex} -body { set r [binary decode hex "6"] list [string length $r] $r } -result {0 {}} test binary-71.10 {binary decode hex} -body { string length [binary decode hex " "] } -result 0 test binary-72.1 {binary encode base64} -body { binary encode base64 } -returnCodes error -match glob -result "wrong # args: *" test binary-72.2 {binary encode base64} -body { binary encode base64 abc } -result {YWJj} | > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 | test binary-71.9 {binary decode hex} -body { set r [binary decode hex "6"] list [string length $r] $r } -result {0 {}} test binary-71.10 {binary decode hex} -body { string length [binary decode hex " "] } -result 0 test binary-71.11 {binary decode hex: Bug b98fa55285} -body { apply {{} { set str "137b6f95e7519389e7c4b36599781e2ccf492699649249aae43fbe8c26\n" set decoded [binary decode hex $str] list [string length $decoded] [scan [string index $decoded end] %c] }} } -result {29 38} test binary-71.12 {binary decode hex: Bug b98fa55285 cross check} -body { apply {{} { set str "137b6f95e7519389e7c4b36599781e2ccf492699649249aae43fbe8c2\n" set decoded [binary decode hex $str] list [string length $decoded] [scan [string index $decoded end] %c] }} } -result {28 140} test binary-71.13 {binary decode hex: Bug b98fa55285 cross check} -body { apply {{} { set str "137b6f95e7519389e7c4b36599781e2ccf492699649249aae43fbe8c2\n\n" set decoded [binary decode hex $str] list [string length $decoded] [scan [string index $decoded end] %c] }} } -result {28 140} test binary-71.14 {binary decode hex: Bug b98fa55285 cross check} -body { apply {{} { set str "137b6f95e7519389e7c4b36599781e2ccf492699649249aae43fbe8c2\n\n\n" set decoded [binary decode hex $str] list [string length $decoded] [scan [string index $decoded end] %c] }} } -result {28 140} test binary-72.1 {binary encode base64} -body { binary encode base64 } -returnCodes error -match glob -result "wrong # args: *" test binary-72.2 {binary encode base64} -body { binary encode base64 abc } -result {YWJj} |
︙ | ︙ |