Attachment "bin.patch" to
ticket [2368084fff]
added by
ferrieux
2008-12-01 07:54:21.
0000: 49 6e 64 65 78 3a 20 67 65 6e 65 72 69 63 2f 74 Index: generic/t
0010: 63 6c 49 6e 74 2e 68 0a 3d 3d 3d 3d 3d 3d 3d 3d clInt.h.========
0020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0040: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0050: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 ===========.RCS
0060: 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 file: /cvsroot/t
0070: 63 6c 2f 74 63 6c 2f 67 65 6e 65 72 69 63 2f 74 cl/tcl/generic/t
0080: 63 6c 49 6e 74 2e 68 2c 76 0a 72 65 74 72 69 65 clInt.h,v.retrie
0090: 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e ving revision 1.
00a0: 34 30 37 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 407.diff -u -r1.
00b0: 34 30 37 20 74 63 6c 49 6e 74 2e 68 0a 2d 2d 2d 407 tclInt.h.---
00c0: 20 67 65 6e 65 72 69 63 2f 74 63 6c 49 6e 74 2e generic/tclInt.
00d0: 68 09 32 39 20 4e 6f 76 20 32 30 30 38 20 31 38 h.29 Nov 2008 18
00e0: 3a 31 37 3a 32 30 20 2d 30 30 30 30 09 31 2e 34 :17:20 -0000.1.4
00f0: 30 37 0a 2b 2b 2b 20 67 65 6e 65 72 69 63 2f 74 07.+++ generic/t
0100: 63 6c 49 6e 74 2e 68 09 31 20 44 65 63 20 32 30 clInt.h.1 Dec 20
0110: 30 38 20 30 30 3a 34 35 3a 35 35 20 2d 30 30 30 08 00:45:55 -000
0120: 30 0a 40 40 20 2d 32 34 36 31 2c 36 20 2b 32 34 0.@@ -2461,6 +24
0130: 36 31 2c 38 20 40 40 0a 20 09 09 09 09 2f 2a 20 61,8 @@. ..../*
0140: 55 73 65 20 5b 73 63 61 6e 5d 20 72 75 6c 65 73 Use [scan] rules
0150: 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 30 3f dealing with 0?
0160: 20 70 72 65 66 69 78 65 73 20 2a 2f 0a 20 23 64 prefixes */. #d
0170: 65 66 69 6e 65 20 54 43 4c 5f 50 41 52 53 45 5f efine TCL_PARSE_
0180: 4e 4f 5f 57 48 49 54 45 53 50 41 43 45 09 09 33 NO_WHITESPACE..3
0190: 32 0a 20 09 09 09 09 2f 2a 20 52 65 6a 65 63 74 2. ..../* Reject
01a0: 20 6c 65 61 64 69 6e 67 2f 74 72 61 69 6c 69 6e leading/trailin
01b0: 67 20 77 68 69 74 65 73 70 61 63 65 20 2a 2f 0a g whitespace */.
01c0: 2b 23 64 65 66 69 6e 65 20 54 43 4c 5f 50 41 52 +#define TCL_PAR
01d0: 53 45 5f 42 49 4e 41 52 59 5f 4f 4e 4c 59 09 36 SE_BINARY_ONLY.6
01e0: 34 0a 2b 09 09 09 09 2f 2a 20 50 61 72 73 65 20 4.+..../* Parse
01f0: 62 69 6e 61 72 79 20 65 76 65 6e 20 77 69 74 68 binary even with
0200: 6f 75 74 20 70 72 65 66 69 78 20 2a 2f 0a 20 0a out prefix */. .
0210: 20 2f 2a 0a 20 20 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d /*. *---------
0220: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0230: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0240: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------------
0250: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 49 6e -------------.In
0260: 64 65 78 3a 20 67 65 6e 65 72 69 63 2f 74 63 6c dex: generic/tcl
0270: 53 63 61 6e 2e 63 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d Scan.c.=========
0280: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0290: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
02a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
02b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 ==========.RCS f
02c0: 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63 ile: /cvsroot/tc
02d0: 6c 2f 74 63 6c 2f 67 65 6e 65 72 69 63 2f 74 63 l/tcl/generic/tc
02e0: 6c 53 63 61 6e 2e 63 2c 76 0a 72 65 74 72 69 65 lScan.c,v.retrie
02f0: 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e ving revision 1.
0300: 32 39 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 32 29.diff -u -r1.2
0310: 39 20 74 63 6c 53 63 61 6e 2e 63 0a 2d 2d 2d 20 9 tclScan.c.---
0320: 67 65 6e 65 72 69 63 2f 74 63 6c 53 63 61 6e 2e generic/tclScan.
0330: 63 09 31 39 20 4a 75 6c 20 32 30 30 38 20 32 32 c.19 Jul 2008 22
0340: 3a 35 30 3a 34 32 20 2d 30 30 30 30 09 31 2e 32 :50:42 -0000.1.2
0350: 39 0a 2b 2b 2b 20 67 65 6e 65 72 69 63 2f 74 63 9.+++ generic/tc
0360: 6c 53 63 61 6e 2e 63 09 31 20 44 65 63 20 32 30 lScan.c.1 Dec 20
0370: 30 38 20 30 30 3a 34 35 3a 35 36 20 2d 30 30 30 08 00:45:56 -000
0380: 30 0a 40 40 20 2d 34 30 35 2c 36 20 2b 34 30 35 0.@@ -405,6 +405
0390: 2c 37 20 40 40 0a 20 09 63 61 73 65 20 27 69 27 ,7 @@. .case 'i'
03a0: 3a 0a 20 09 63 61 73 65 20 27 6f 27 3a 0a 20 09 :. .case 'o':. .
03b0: 63 61 73 65 20 27 78 27 3a 0a 2b 09 63 61 73 65 case 'x':.+.case
03c0: 20 27 62 27 3a 0a 20 09 20 20 20 20 62 72 65 61 'b':. . brea
03d0: 6b 3b 0a 20 09 63 61 73 65 20 27 75 27 3a 0a 20 k;. .case 'u':.
03e0: 09 20 20 20 20 69 66 20 28 66 6c 61 67 73 20 26 . if (flags &
03f0: 20 53 43 41 4e 5f 42 49 47 29 20 7b 0a 40 40 20 SCAN_BIG) {.@@
0400: 2d 37 33 32 2c 36 20 2b 37 33 33 2c 31 30 20 40 -732,6 +733,10 @
0410: 40 0a 20 09 20 20 20 20 6f 70 20 3d 20 27 69 27 @. . op = 'i'
0420: 3b 0a 20 09 20 20 20 20 70 61 72 73 65 46 6c 61 ;. . parseFla
0430: 67 20 7c 3d 20 54 43 4c 5f 50 41 52 53 45 5f 48 g |= TCL_PARSE_H
0440: 45 58 41 44 45 43 49 4d 41 4c 5f 4f 4e 4c 59 3b EXADECIMAL_ONLY;
0450: 0a 20 09 20 20 20 20 62 72 65 61 6b 3b 0a 2b 09 . . break;.+.
0460: 63 61 73 65 20 27 62 27 3a 0a 2b 09 20 20 20 20 case 'b':.+.
0470: 6f 70 20 3d 20 27 69 27 3b 0a 2b 09 20 20 20 20 op = 'i';.+.
0480: 70 61 72 73 65 46 6c 61 67 20 7c 3d 20 54 43 4c parseFlag |= TCL
0490: 5f 50 41 52 53 45 5f 42 49 4e 41 52 59 5f 4f 4e _PARSE_BINARY_ON
04a0: 4c 59 3b 0a 2b 09 20 20 20 20 62 72 65 61 6b 3b LY;.+. break;
04b0: 0a 20 09 63 61 73 65 20 27 75 27 3a 0a 20 09 20 . .case 'u':. .
04c0: 20 20 20 6f 70 20 3d 20 27 69 27 3b 0a 20 09 20 op = 'i';. .
04d0: 20 20 20 70 61 72 73 65 46 6c 61 67 20 7c 3d 20 parseFlag |=
04e0: 54 43 4c 5f 50 41 52 53 45 5f 44 45 43 49 4d 41 TCL_PARSE_DECIMA
04f0: 4c 5f 4f 4e 4c 59 3b 0a 49 6e 64 65 78 3a 20 67 L_ONLY;.Index: g
0500: 65 6e 65 72 69 63 2f 74 63 6c 53 74 72 54 6f 44 eneric/tclStrToD
0510: 2e 63 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .c.=============
0520: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0530: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0540: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0550: 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 6c 65 3a ======.RCS file:
0560: 20 2f 63 76 73 72 6f 6f 74 2f 74 63 6c 2f 74 63 /cvsroot/tcl/tc
0570: 6c 2f 67 65 6e 65 72 69 63 2f 74 63 6c 53 74 72 l/generic/tclStr
0580: 54 6f 44 2e 63 2c 76 0a 72 65 74 72 69 65 76 69 ToD.c,v.retrievi
0590: 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e 33 34 ng revision 1.34
05a0: 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 33 34 20 .diff -u -r1.34
05b0: 74 63 6c 53 74 72 54 6f 44 2e 63 0a 2d 2d 2d 20 tclStrToD.c.---
05c0: 67 65 6e 65 72 69 63 2f 74 63 6c 53 74 72 54 6f generic/tclStrTo
05d0: 44 2e 63 09 31 20 41 70 72 20 32 30 30 38 20 32 D.c.1 Apr 2008 2
05e0: 30 3a 30 38 3a 32 32 20 2d 30 30 30 30 09 31 2e 0:08:22 -0000.1.
05f0: 33 34 0a 2b 2b 2b 20 67 65 6e 65 72 69 63 2f 74 34.+++ generic/t
0600: 63 6c 53 74 72 54 6f 44 2e 63 09 31 20 44 65 63 clStrToD.c.1 Dec
0610: 20 32 30 30 38 20 30 30 3a 34 35 3a 35 39 20 2d 2008 00:45:59 -
0620: 30 30 30 30 0a 40 40 20 2d 33 36 39 2c 36 20 2b 0000.@@ -369,6 +
0630: 33 36 39 2c 38 20 40 40 0a 20 09 09 62 72 65 61 369,8 @@. ..brea
0640: 6b 3b 0a 20 09 20 20 20 20 7d 20 65 6c 73 65 20 k;. . } else
0650: 69 66 20 28 66 6c 61 67 73 20 26 20 54 43 4c 5f if (flags & TCL_
0660: 50 41 52 53 45 5f 48 45 58 41 44 45 43 49 4d 41 PARSE_HEXADECIMA
0670: 4c 5f 4f 4e 4c 59 29 20 7b 0a 20 09 09 67 6f 74 L_ONLY) {. ..got
0680: 6f 20 7a 65 72 6f 78 3b 0a 2b 09 20 20 20 20 7d o zerox;.+. }
0690: 20 65 6c 73 65 20 69 66 20 28 66 6c 61 67 73 20 else if (flags
06a0: 26 20 54 43 4c 5f 50 41 52 53 45 5f 42 49 4e 41 & TCL_PARSE_BINA
06b0: 52 59 5f 4f 4e 4c 59 29 20 7b 0a 2b 09 09 67 6f RY_ONLY) {.+..go
06c0: 74 6f 20 7a 65 72 6f 62 3b 0a 20 09 20 20 20 20 to zerob;. .
06d0: 7d 20 65 6c 73 65 20 69 66 20 28 66 6c 61 67 73 } else if (flags
06e0: 20 26 20 54 43 4c 5f 50 41 52 53 45 5f 4f 43 54 & TCL_PARSE_OCT
06f0: 41 4c 5f 4f 4e 4c 59 29 20 7b 0a 20 09 09 67 6f AL_ONLY) {. ..go
0700: 74 6f 20 7a 65 72 6f 6f 3b 0a 20 09 20 20 20 20 to zeroo;. .
0710: 7d 20 65 6c 73 65 20 69 66 20 28 69 73 64 69 67 } else if (isdig
0720: 69 74 28 55 43 48 41 52 28 63 29 29 29 20 7b 0a it(UCHAR(c))) {.
0730: 40 40 20 2d 33 39 35 2c 39 20 2b 33 39 37 2c 39 @@ -395,9 +397,9
0740: 20 40 40 0a 20 09 63 61 73 65 20 5a 45 52 4f 3a @@. .case ZERO:
0750: 0a 20 09 20 20 20 20 2f 2a 0a 20 09 20 20 20 20 . . /*. .
0760: 20 2a 20 53 63 61 6e 6e 65 64 20 61 20 6c 65 61 * Scanned a lea
0770: 64 69 6e 67 20 7a 65 72 6f 20 28 70 65 72 68 61 ding zero (perha
0780: 70 73 20 77 69 74 68 20 61 20 2b 20 6f 72 20 2d ps with a + or -
0790: 29 2e 20 41 63 63 65 70 74 61 62 6c 65 0a 2d 09 ). Acceptable.-.
07a0: 20 20 20 20 20 2a 20 69 6e 70 75 74 73 20 61 72 * inputs ar
07b0: 65 20 64 69 67 69 74 73 2c 20 70 65 72 69 6f 64 e digits, period
07c0: 2c 20 58 2c 20 61 6e 64 20 45 2e 20 49 66 20 38 , X, and E. If 8
07d0: 20 6f 72 20 39 20 69 73 20 65 6e 63 6f 75 6e 74 or 9 is encount
07e0: 65 72 65 64 2c 0a 2b 09 20 20 20 20 20 2a 20 69 ered,.+. * i
07f0: 6e 70 75 74 73 20 61 72 65 20 64 69 67 69 74 73 nputs are digits
0800: 2c 20 70 65 72 69 6f 64 2c 20 58 2c 20 62 2c 20 , period, X, b,
0810: 61 6e 64 20 45 2e 20 49 66 20 38 20 6f 72 20 39 and E. If 8 or 9
0820: 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 2c is encountered,
0830: 0a 20 09 20 20 20 20 20 2a 20 74 68 65 20 6e 75 . . * the nu
0840: 6d 62 65 72 20 63 61 6e 27 74 20 62 65 20 6f 63 mber can't be oc
0850: 74 61 6c 2e 20 54 68 69 73 20 73 74 61 74 65 20 tal. This state
0860: 61 6e 64 20 74 68 65 20 4f 43 54 41 4c 20 73 74 and the OCTAL st
0870: 61 74 65 0a 2d 09 20 20 20 20 20 2a 20 64 69 66 ate.-. * dif
0880: 66 65 72 20 6f 6e 6c 79 20 69 6e 20 77 68 65 74 fer only in whet
0890: 68 65 72 20 74 68 65 79 20 72 65 63 6f 67 6e 69 her they recogni
08a0: 7a 65 20 27 58 27 2e 0a 2b 09 20 20 20 20 20 2a ze 'X'..+. *
08b0: 20 64 69 66 66 65 72 20 6f 6e 6c 79 20 69 6e 20 differ only in
08c0: 77 68 65 74 68 65 72 20 74 68 65 79 20 72 65 63 whether they rec
08d0: 6f 67 6e 69 7a 65 20 27 58 27 20 61 6e 64 20 27 ognize 'X' and '
08e0: 62 27 2e 0a 20 09 20 20 20 20 20 2a 2f 0a 20 0a b'.. . */. .
08f0: 20 09 20 20 20 20 61 63 63 65 70 74 53 74 61 74 . acceptStat
0900: 65 20 3d 20 73 74 61 74 65 3b 0a 40 40 20 2d 34 e = state;.@@ -4
0910: 31 30 2c 31 33 20 2b 34 31 32 2c 31 36 20 40 40 10,13 +412,16 @@
0920: 0a 20 09 20 20 20 20 69 66 20 28 66 6c 61 67 73 . . if (flags
0930: 20 26 20 54 43 4c 5f 50 41 52 53 45 5f 48 45 58 & TCL_PARSE_HEX
0940: 41 44 45 43 49 4d 41 4c 5f 4f 4e 4c 59 29 20 7b ADECIMAL_ONLY) {
0950: 0a 20 09 09 67 6f 74 6f 20 7a 65 72 6f 78 3b 0a . ..goto zerox;.
0960: 20 09 20 20 20 20 7d 0a 2d 09 20 20 20 20 69 66 . }.-. if
0970: 20 28 66 6c 61 67 73 20 26 20 54 43 4c 5f 50 41 (flags & TCL_PA
0980: 52 53 45 5f 53 43 41 4e 5f 50 52 45 46 49 58 45 RSE_SCAN_PREFIXE
0990: 53 29 20 7b 0a 2d 09 09 67 6f 74 6f 20 7a 65 72 S) {.-..goto zer
09a0: 6f 6f 3b 0a 2d 09 20 20 20 20 7d 0a 20 09 20 20 oo;.-. }. .
09b0: 20 20 69 66 20 28 63 20 3d 3d 20 27 62 27 20 7c if (c == 'b' |
09c0: 7c 20 63 20 3d 3d 20 27 42 27 29 20 7b 0a 20 09 | c == 'B') {. .
09d0: 09 73 74 61 74 65 20 3d 20 5a 45 52 4f 5f 42 3b .state = ZERO_B;
09e0: 0a 20 09 09 62 72 65 61 6b 3b 0a 20 09 20 20 20 . ..break;. .
09f0: 20 7d 0a 2b 09 20 20 20 20 69 66 20 28 66 6c 61 }.+. if (fla
0a00: 67 73 20 26 20 54 43 4c 5f 50 41 52 53 45 5f 42 gs & TCL_PARSE_B
0a10: 49 4e 41 52 59 5f 4f 4e 4c 59 29 20 7b 0a 2b 09 INARY_ONLY) {.+.
0a20: 09 67 6f 74 6f 20 7a 65 72 6f 62 3b 0a 2b 09 20 .goto zerob;.+.
0a30: 20 20 20 7d 0a 2b 09 20 20 20 20 69 66 20 28 66 }.+. if (f
0a40: 6c 61 67 73 20 26 20 54 43 4c 5f 50 41 52 53 45 lags & TCL_PARSE
0a50: 5f 53 43 41 4e 5f 50 52 45 46 49 58 45 53 29 20 _SCAN_PREFIXES)
0a60: 7b 0a 2b 09 09 67 6f 74 6f 20 7a 65 72 6f 6f 3b {.+..goto zeroo;
0a70: 0a 2b 09 20 20 20 20 7d 0a 20 09 20 20 20 20 69 .+. }. . i
0a80: 66 20 28 63 20 3d 3d 20 27 6f 27 20 7c 7c 20 63 f (c == 'o' || c
0a90: 20 3d 3d 20 27 4f 27 29 20 7b 0a 20 09 09 65 78 == 'O') {. ..ex
0aa0: 70 6c 69 63 69 74 4f 63 74 61 6c 20 3d 20 31 3b plicitOctal = 1;
0ab0: 0a 20 09 09 73 74 61 74 65 20 3d 20 5a 45 52 4f . ..state = ZERO
0ac0: 5f 4f 3b 0a 40 40 20 2d 36 30 32 2c 36 20 2b 36 _O;.@@ -602,6 +6
0ad0: 30 37 2c 37 20 40 40 0a 20 09 20 20 20 20 61 63 07,7 @@. . ac
0ae0: 63 65 70 74 50 6f 69 6e 74 20 3d 20 70 3b 0a 20 ceptPoint = p;.
0af0: 09 20 20 20 20 61 63 63 65 70 74 4c 65 6e 20 3d . acceptLen =
0b00: 20 6c 65 6e 3b 0a 20 09 63 61 73 65 20 5a 45 52 len;. .case ZER
0b10: 4f 5f 42 3a 0a 2b 09 7a 65 72 6f 62 3a 0a 20 09 O_B:.+.zerob:. .
0b20: 20 20 20 20 69 66 20 28 63 20 3d 3d 20 27 30 27 if (c == '0'
0b30: 29 20 7b 0a 20 09 09 2b 2b 6e 75 6d 54 72 61 69 ) {. ..++numTrai
0b40: 6c 5a 65 72 6f 73 3b 0a 20 09 09 73 74 61 74 65 lZeros;. ..state
0b50: 20 3d 20 42 49 4e 41 52 59 3b 0a 49 6e 64 65 78 = BINARY;.Index
0b60: 3a 20 67 65 6e 65 72 69 63 2f 74 63 6c 53 74 72 : generic/tclStr
0b70: 69 6e 67 4f 62 6a 2e 63 0a 3d 3d 3d 3d 3d 3d 3d ingObj.c.=======
0b80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0b90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0ba0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0bb0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 ============.RCS
0bc0: 20 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f file: /cvsroot/
0bd0: 74 63 6c 2f 74 63 6c 2f 67 65 6e 65 72 69 63 2f tcl/tcl/generic/
0be0: 74 63 6c 53 74 72 69 6e 67 4f 62 6a 2e 63 2c 76 tclStringObj.c,v
0bf0: 0a 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 .retrieving revi
0c00: 73 69 6f 6e 20 31 2e 37 34 0a 64 69 66 66 20 2d sion 1.74.diff -
0c10: 75 20 2d 72 31 2e 37 34 20 74 63 6c 53 74 72 69 u -r1.74 tclStri
0c20: 6e 67 4f 62 6a 2e 63 0a 2d 2d 2d 20 67 65 6e 65 ngObj.c.--- gene
0c30: 72 69 63 2f 74 63 6c 53 74 72 69 6e 67 4f 62 6a ric/tclStringObj
0c40: 2e 63 09 32 36 20 4f 63 74 20 32 30 30 38 20 31 .c.26 Oct 2008 1
0c50: 38 3a 33 34 3a 30 34 20 2d 30 30 30 30 09 31 2e 8:34:04 -0000.1.
0c60: 37 34 0a 2b 2b 2b 20 67 65 6e 65 72 69 63 2f 74 74.+++ generic/t
0c70: 63 6c 53 74 72 69 6e 67 4f 62 6a 2e 63 09 31 20 clStringObj.c.1
0c80: 44 65 63 20 32 30 30 38 20 30 30 3a 34 36 3a 30 Dec 2008 00:46:0
0c90: 31 20 2d 30 30 30 30 0a 40 40 20 2d 31 39 34 33 1 -0000.@@ -1943
0ca0: 2c 37 20 2b 31 39 34 33 2c 38 20 40 40 0a 20 09 ,7 +1943,8 @@. .
0cb0: 63 61 73 65 20 27 64 27 3a 0a 20 09 63 61 73 65 case 'd':. .case
0cc0: 20 27 6f 27 3a 0a 20 09 63 61 73 65 20 27 78 27 'o':. .case 'x'
0cd0: 3a 0a 2d 09 63 61 73 65 20 27 58 27 3a 20 7b 0a :.-.case 'X': {.
0ce0: 2b 09 63 61 73 65 20 27 58 27 3a 0a 2b 09 63 61 +.case 'X':.+.ca
0cf0: 73 65 20 27 62 27 3a 20 7b 0a 20 09 20 20 20 20 se 'b': {. .
0d00: 73 68 6f 72 74 20 69 6e 74 20 73 20 3d 20 30 3b short int s = 0;
0d10: 09 2f 2a 20 53 69 6c 65 6e 63 65 20 63 6f 6d 70 ./* Silence comp
0d20: 69 6c 65 72 20 77 61 72 6e 69 6e 67 3b 20 6f 6e iler warning; on
0d30: 6c 79 20 64 65 66 69 6e 65 64 20 61 6e 64 0a 20 ly defined and.
0d40: 09 09 09 09 20 2a 20 75 73 65 64 20 77 68 65 6e .... * used when
0d50: 20 75 73 65 53 68 6f 72 74 20 69 73 20 74 72 75 useShort is tru
0d60: 65 2e 20 2a 2f 0a 20 09 20 20 20 20 6c 6f 6e 67 e. */. . long
0d70: 20 6c 3b 0a 40 40 20 2d 32 30 31 36 2c 36 20 2b l;.@@ -2016,6 +
0d80: 32 30 31 37 2c 39 20 40 40 0a 20 09 09 63 61 73 2017,9 @@. ..cas
0d90: 65 20 27 58 27 3a 0a 20 09 09 20 20 20 20 54 63 e 'X':. .. Tc
0da0: 6c 5f 41 70 70 65 6e 64 54 6f 4f 62 6a 28 73 65 l_AppendToObj(se
0db0: 67 6d 65 6e 74 2c 20 22 30 78 22 2c 20 32 29 3b gment, "0x", 2);
0dc0: 0a 20 09 09 20 20 20 20 62 72 65 61 6b 3b 0a 2b . .. break;.+
0dd0: 09 09 63 61 73 65 20 27 62 27 3a 0a 2b 09 09 20 ..case 'b':.+..
0de0: 20 20 20 54 63 6c 5f 41 70 70 65 6e 64 54 6f 4f Tcl_AppendToO
0df0: 62 6a 28 73 65 67 6d 65 6e 74 2c 20 22 30 62 22 bj(segment, "0b"
0e00: 2c 20 32 29 3b 0a 2b 09 09 20 20 20 20 62 72 65 , 2);.+.. bre
0e10: 61 6b 3b 0a 20 09 09 7d 0a 20 09 20 20 20 20 7d ak;. ..}. . }
0e20: 0a 20 0a 40 40 20 2d 32 30 37 34 2c 37 20 2b 32 . .@@ -2074,7 +2
0e30: 30 37 38 2c 38 20 40 40 0a 20 09 20 20 20 20 63 078,8 @@. . c
0e40: 61 73 65 20 27 75 27 3a 0a 20 09 20 20 20 20 63 ase 'u':. . c
0e50: 61 73 65 20 27 6f 27 3a 0a 20 09 20 20 20 20 63 ase 'o':. . c
0e60: 61 73 65 20 27 78 27 3a 0a 2d 09 20 20 20 20 63 ase 'x':.-. c
0e70: 61 73 65 20 27 58 27 3a 20 7b 0a 2b 09 20 20 20 ase 'X': {.+.
0e80: 20 63 61 73 65 20 27 58 27 3a 0a 2b 09 20 20 20 case 'X':.+.
0e90: 20 63 61 73 65 20 27 62 27 3a 20 7b 0a 20 09 09 case 'b': {. ..
0ea0: 54 63 6c 5f 57 69 64 65 55 49 6e 74 20 62 69 74 Tcl_WideUInt bit
0eb0: 73 20 3d 20 28 54 63 6c 5f 57 69 64 65 55 49 6e s = (Tcl_WideUIn
0ec0: 74 29 30 3b 0a 20 09 09 69 6e 74 20 6c 65 6e 67 t)0;. ..int leng
0ed0: 74 68 2c 20 6e 75 6d 42 69 74 73 20 3d 20 34 2c th, numBits = 4,
0ee0: 20 6e 75 6d 44 69 67 69 74 73 20 3d 20 30 2c 20 numDigits = 0,
0ef0: 62 61 73 65 20 3d 20 31 36 3b 0a 20 09 09 69 6e base = 16;. ..in
0f00: 74 20 69 6e 64 65 78 20 3d 20 30 2c 20 73 68 69 t index = 0, shi
0f10: 66 74 20 3d 20 30 3b 0a 40 40 20 2d 32 30 38 33 ft = 0;.@@ -2083
0f20: 2c 31 30 20 2b 32 30 38 38 2c 31 32 20 40 40 0a ,10 +2088,12 @@.
0f30: 20 0a 20 09 09 69 66 20 28 63 68 20 3d 3d 20 27 . ..if (ch == '
0f40: 75 27 29 20 7b 0a 20 09 09 20 20 20 20 62 61 73 u') {. .. bas
0f50: 65 20 3d 20 31 30 3b 0a 2d 09 09 7d 0a 2d 09 09 e = 10;.-..}.-..
0f60: 69 66 20 28 63 68 20 3d 3d 20 27 6f 27 29 20 7b if (ch == 'o') {
0f70: 0a 2b 09 09 7d 20 65 6c 73 65 20 69 66 20 28 63 .+..} else if (c
0f80: 68 20 3d 3d 20 27 6f 27 29 20 7b 0a 20 09 09 20 h == 'o') {. ..
0f90: 20 20 20 62 61 73 65 20 3d 20 38 3b 0a 20 09 09 base = 8;. ..
0fa0: 20 20 20 20 6e 75 6d 42 69 74 73 20 3d 20 33 3b numBits = 3;
0fb0: 0a 2b 09 09 7d 20 65 6c 73 65 20 69 66 20 28 63 .+..} else if (c
0fc0: 68 3d 3d 27 62 27 29 20 7b 0a 2b 09 09 20 20 20 h=='b') {.+..
0fd0: 20 62 61 73 65 20 3d 20 32 3b 0a 2b 09 09 20 20 base = 2;.+..
0fe0: 20 20 6e 75 6d 42 69 74 73 20 3d 20 31 3b 0a 20 numBits = 1;.
0ff0: 09 09 7d 0a 20 09 09 69 66 20 28 75 73 65 53 68 ..}. ..if (useSh
1000: 6f 72 74 29 20 7b 0a 20 09 09 20 20 20 20 75 6e ort) {. .. un
1010: 73 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74 signed short int
1020: 20 75 73 20 3d 20 28 75 6e 73 69 67 6e 65 64 20 us = (unsigned
1030: 73 68 6f 72 74 20 69 6e 74 29 20 73 3b 0a 49 6e short int) s;.In
1040: 64 65 78 3a 20 74 65 73 74 73 2f 66 6f 72 6d 61 dex: tests/forma
1050: 74 2e 74 65 73 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d t.test.=========
1060: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1070: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1080: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 ==========.RCS f
10a0: 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63 ile: /cvsroot/tc
10b0: 6c 2f 74 63 6c 2f 74 65 73 74 73 2f 66 6f 72 6d l/tcl/tests/form
10c0: 61 74 2e 74 65 73 74 2c 76 0a 72 65 74 72 69 65 at.test,v.retrie
10d0: 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e ving revision 1.
10e0: 32 37 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 32 27.diff -u -r1.2
10f0: 37 20 66 6f 72 6d 61 74 2e 74 65 73 74 0a 2d 2d 7 format.test.--
1100: 2d 20 74 65 73 74 73 2f 66 6f 72 6d 61 74 2e 74 - tests/format.t
1110: 65 73 74 09 31 39 20 4a 75 6c 20 32 30 30 38 20 est.19 Jul 2008
1120: 32 32 3a 35 30 3a 33 39 20 2d 30 30 30 30 09 31 22:50:39 -0000.1
1130: 2e 32 37 0a 2b 2b 2b 20 74 65 73 74 73 2f 66 6f .27.+++ tests/fo
1140: 72 6d 61 74 2e 74 65 73 74 09 31 20 44 65 63 20 rmat.test.1 Dec
1150: 32 30 30 38 20 30 30 3a 34 36 3a 30 32 20 2d 30 2008 00:46:02 -0
1160: 30 30 30 0a 40 40 20 2d 37 37 2c 36 20 2b 37 37 000.@@ -77,6 +77
1170: 2c 39 20 40 40 0a 20 74 65 73 74 20 66 6f 72 6d ,9 @@. test form
1180: 61 74 2d 31 2e 31 31 2e 31 20 7b 69 6e 74 65 67 at-1.11.1 {integ
1190: 65 72 20 66 6f 72 6d 61 74 74 69 6e 67 7d 20 6c er formatting} l
11a0: 6f 6e 67 49 73 36 34 62 69 74 20 7b 0a 20 20 20 ongIs64bit {.
11b0: 20 20 66 6f 72 6d 61 74 20 22 25 2d 23 32 30 6f format "%-#20o
11c0: 20 25 23 2d 32 30 6f 20 25 23 2d 32 30 6f 20 25 %#-20o %#-20o %
11d0: 23 2d 32 30 6f 22 20 36 20 33 34 20 31 36 39 32 #-20o" 6 34 1692
11e0: 33 20 2d 31 32 20 2d 31 0a 20 7d 20 7b 30 36 20 3 -12 -1. } {06
11f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1200: 20 20 30 34 32 20 20 20 20 20 20 20 20 20 20 20 042
1210: 20 20 20 20 20 20 20 30 34 31 30 33 33 20 20 20 041033
1220: 20 20 20 20 20 20 20 20 20 20 20 20 30 31 37 37 0177
1230: 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 7777777777777777
1240: 37 36 34 7d 0a 2b 74 65 73 74 20 66 6f 72 6d 61 764}.+test forma
1250: 74 2d 31 2e 31 32 20 7b 69 6e 74 65 67 65 72 20 t-1.12 {integer
1260: 66 6f 72 6d 61 74 74 69 6e 67 7d 20 7b 0a 2b 20 formatting} {.+
1270: 20 20 20 66 6f 72 6d 61 74 20 22 25 62 20 25 23 format "%b %#
1280: 62 20 25 6c 6c 62 22 20 35 20 35 20 5b 65 78 70 b %llb" 5 5 [exp
1290: 72 20 7b 32 2a 2a 31 30 30 7d 5d 0a 2b 7d 20 7b r {2**100}].+} {
12a0: 31 30 31 20 30 62 31 30 31 20 31 30 30 30 30 30 101 0b101 100000
12b0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
12c0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
12d0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
12e0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
12f0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
1300: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 7d 000000000000000}
1310: 0a 20 0a 20 74 65 73 74 20 66 6f 72 6d 61 74 2d . . test format-
1320: 32 2e 31 20 7b 73 74 72 69 6e 67 20 66 6f 72 6d 2.1 {string form
1330: 61 74 74 69 6e 67 7d 20 7b 0a 20 20 20 20 20 66 atting} {. f
1340: 6f 72 6d 61 74 20 22 25 73 20 25 73 20 25 63 20 ormat "%s %s %c
1350: 25 73 22 20 61 62 63 64 20 7b 54 68 69 73 20 69 %s" abcd {This i
1360: 73 20 61 20 76 65 72 79 20 6c 6f 6e 67 20 74 65 s a very long te
1370: 73 74 20 73 74 72 69 6e 67 2e 7d 20 31 32 30 20 st string.} 120
1380: 78 0a 49 6e 64 65 78 3a 20 74 65 73 74 73 2f 73 x.Index: tests/s
1390: 63 61 6e 2e 74 65 73 74 0a 3d 3d 3d 3d 3d 3d 3d can.test.=======
13a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
13b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
13c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
13d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 ============.RCS
13e0: 20 66 69 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f file: /cvsroot/
13f0: 74 63 6c 2f 74 63 6c 2f 74 65 73 74 73 2f 73 63 tcl/tcl/tests/sc
1400: 61 6e 2e 74 65 73 74 2c 76 0a 72 65 74 72 69 65 an.test,v.retrie
1410: 76 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 31 2e ving revision 1.
1420: 32 32 0a 64 69 66 66 20 2d 75 20 2d 72 31 2e 32 22.diff -u -r1.2
1430: 32 20 73 63 61 6e 2e 74 65 73 74 0a 2d 2d 2d 20 2 scan.test.---
1440: 74 65 73 74 73 2f 73 63 61 6e 2e 74 65 73 74 09 tests/scan.test.
1450: 31 39 20 4a 75 6c 20 32 30 30 38 20 32 32 3a 35 19 Jul 2008 22:5
1460: 30 3a 33 39 20 2d 30 30 30 30 09 31 2e 32 32 0a 0:39 -0000.1.22.
1470: 2b 2b 2b 20 74 65 73 74 73 2f 73 63 61 6e 2e 74 +++ tests/scan.t
1480: 65 73 74 09 31 20 44 65 63 20 32 30 30 38 20 30 est.1 Dec 2008 0
1490: 30 3a 34 36 3a 30 34 20 2d 30 30 30 30 0a 40 40 0:46:04 -0000.@@
14a0: 20 2d 31 39 2c 37 20 2b 31 39 2c 37 20 40 40 0a -19,7 +19,7 @@.
14b0: 20 7d 0a 20 0a 20 74 65 73 74 43 6f 6e 73 74 72 }. . testConstr
14c0: 61 69 6e 74 20 77 69 64 65 49 73 36 34 62 69 74 aint wideIs64bit
14d0: 20 5c 0a 2d 09 5b 65 78 70 72 20 7b 28 77 69 64 \.-.[expr {(wid
14e0: 65 28 30 78 38 30 30 30 30 30 30 30 29 20 3e 20 e(0x80000000) >
14f0: 30 29 20 26 26 20 28 77 69 64 65 28 30 78 38 30 0) && (wide(0x80
1500: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 29 20 00000000000000)
1510: 3c 20 30 29 7d 5d 0a 2b 20 20 20 20 20 20 20 20 < 0)}].+
1520: 5b 65 78 70 72 20 7b 28 77 69 64 65 28 30 78 38 [expr {(wide(0x8
1530: 30 30 30 30 30 30 30 29 20 3e 20 30 29 20 26 26 0000000) > 0) &&
1540: 20 28 77 69 64 65 28 30 78 38 30 30 30 30 30 30 (wide(0x8000000
1550: 30 30 30 30 30 30 30 30 30 29 20 3c 20 30 29 7d 000000000) < 0)}
1560: 5d 0a 20 0a 20 74 65 73 74 20 73 63 61 6e 2d 31 ]. . test scan-1
1570: 2e 31 20 7b 42 75 69 6c 64 43 68 61 72 53 65 74 .1 {BuildCharSet
1580: 2c 20 43 68 61 72 49 6e 53 65 74 7d 20 7b 0a 20 , CharInSet} {.
1590: 20 20 20 20 6c 69 73 74 20 5b 73 63 61 6e 20 66 list [scan f
15a0: 6f 6f 20 7b 25 5b 5e 6f 5d 7d 20 78 5d 20 24 78 oo {%[^o]} x] $x
15b0: 0a 40 40 20 2d 32 34 38 2c 31 30 20 2b 32 34 38 .@@ -248,10 +248
15c0: 2c 31 34 20 40 40 0a 20 20 20 20 20 63 61 74 63 ,14 @@. catc
15d0: 68 20 7b 75 6e 73 65 74 20 78 7d 0a 20 20 20 20 h {unset x}.
15e0: 20 6c 69 73 74 20 5b 73 63 61 6e 20 7b 78 46 7d list [scan {xF}
15f0: 20 7b 25 78 7d 20 78 5d 20 5b 69 6e 66 6f 20 65 {%x} x] [info e
1600: 78 69 73 74 73 20 78 5d 0a 20 7d 20 7b 30 20 30 xists x]. } {0 0
1610: 7d 0a 2b 74 65 73 74 20 73 63 61 6e 2d 34 2e 34 }.+test scan-4.4
1620: 30 2e 33 20 7b 54 63 6c 5f 53 63 61 6e 4f 62 6a 0.3 {Tcl_ScanObj
1630: 43 6d 64 2c 20 62 61 73 65 2d 32 20 69 6e 74 65 Cmd, base-2 inte
1640: 67 65 72 20 73 63 61 6e 6e 69 6e 67 7d 20 7b 0a ger scanning} {.
1650: 2b 20 20 20 20 73 65 74 20 78 20 7b 7d 0a 2b 20 + set x {}.+
1660: 20 20 20 6c 69 73 74 20 5b 73 63 61 6e 20 7b 31 list [scan {1
1670: 30 30 31 20 30 62 31 30 31 20 31 30 30 30 30 30 001 0b101 100000
1680: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
1690: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
16a0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
16b0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
16c0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
16d0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
16e0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0000000000000000
16f0: 30 30 30 30 30 30 30 30 30 30 30 7d 20 7b 25 62 00000000000} {%b
1700: 20 25 62 20 25 6c 6c 62 7d 20 78 20 79 20 7a 5d %b %llb} x y z]
1710: 20 24 78 20 24 79 20 24 7a 0a 2b 7d 20 7b 33 20 $x $y $z.+} {3
1720: 39 20 35 20 33 34 30 32 38 32 33 36 36 39 32 30 9 5 340282366920
1730: 39 33 38 34 36 33 34 36 33 33 37 34 36 30 37 34 9384634633746074
1740: 33 31 37 36 38 32 31 31 34 35 36 7d 0a 20 74 65 31768211456}. te
1750: 73 74 20 73 63 61 6e 2d 34 2e 34 31 20 7b 54 63 st scan-4.41 {Tc
1760: 6c 5f 53 63 61 6e 4f 62 6a 43 6d 64 2c 20 62 61 l_ScanObjCmd, ba
1770: 73 65 2d 75 6e 6b 6e 6f 77 6e 20 69 6e 74 65 67 se-unknown integ
1780: 65 72 20 73 63 61 6e 6e 69 6e 67 7d 20 7b 0a 20 er scanning} {.
1790: 20 20 20 20 73 65 74 20 78 20 7b 7d 0a 2d 20 20 set x {}.-
17a0: 20 20 6c 69 73 74 20 5b 73 63 61 6e 20 7b 31 30 list [scan {10
17b0: 20 30 31 30 20 30 78 31 30 7d 20 7b 25 69 25 69 010 0x10} {%i%i
17c0: 25 69 7d 20 78 20 79 20 7a 5d 20 24 78 20 24 79 %i} x y z] $x $y
17d0: 20 24 7a 0a 2d 7d 20 7b 33 20 31 30 20 38 20 31 $z.-} {3 10 8 1
17e0: 36 7d 0a 2b 20 20 20 20 6c 69 73 74 20 5b 73 63 6}.+ list [sc
17f0: 61 6e 20 7b 31 30 20 30 31 30 20 30 78 31 30 20 an {10 010 0x10
1800: 30 62 31 30 7d 20 7b 25 69 25 69 25 69 25 69 7d 0b10} {%i%i%i%i}
1810: 20 78 20 79 20 7a 20 74 5d 20 24 78 20 24 79 20 x y z t] $x $y
1820: 24 7a 20 24 74 0a 2b 7d 20 7b 34 20 31 30 20 38 $z $t.+} {4 10 8
1830: 20 31 36 20 32 7d 0a 20 74 65 73 74 20 73 63 61 16 2}. test sca
1840: 6e 2d 34 2e 34 32 20 7b 54 63 6c 5f 53 63 61 6e n-4.42 {Tcl_Scan
1850: 4f 62 6a 43 6d 64 2c 20 62 61 73 65 2d 75 6e 6b ObjCmd, base-unk
1860: 6e 6f 77 6e 20 69 6e 74 65 67 65 72 20 73 63 61 nown integer sca
1870: 6e 6e 69 6e 67 7d 20 7b 0a 20 20 20 20 20 73 65 nning} {. se
1880: 74 20 78 20 7b 7d 0a 20 20 20 20 20 6c 69 73 74 t x {}. list
1890: 20 5b 73 63 61 6e 20 7b 31 30 20 30 31 30 20 30 [scan {10 010 0
18a0: 58 31 30 7d 20 7b 25 69 25 69 25 69 7d 20 78 20 X10} {%i%i%i} x
18b0: 79 20 7a 5d 20 24 78 20 24 79 20 24 7a 0a 49 6e y z] $x $y $z.In
18c0: 64 65 78 3a 20 64 6f 63 2f 66 6f 72 6d 61 74 2e dex: doc/format.
18d0: 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.==============
18e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
18f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1900: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1910: 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 6c 65 3a 20 =====.RCS file:
1920: 2f 63 76 73 72 6f 6f 74 2f 74 63 6c 2f 74 63 6c /cvsroot/tcl/tcl
1930: 2f 64 6f 63 2f 66 6f 72 6d 61 74 2e 6e 2c 76 0a /doc/format.n,v.
1940: 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 69 73 retrieving revis
1950: 69 6f 6e 20 31 2e 32 31 0a 64 69 66 66 20 2d 75 ion 1.21.diff -u
1960: 20 2d 72 31 2e 32 31 20 66 6f 72 6d 61 74 2e 6e -r1.21 format.n
1970: 0a 2d 2d 2d 20 64 6f 63 2f 66 6f 72 6d 61 74 2e .--- doc/format.
1980: 6e 09 31 37 20 4f 63 74 20 32 30 30 38 20 31 30 n.17 Oct 2008 10
1990: 3a 32 32 3a 32 35 20 2d 30 30 30 30 09 31 2e 32 :22:25 -0000.1.2
19a0: 31 0a 2b 2b 2b 20 64 6f 63 2f 66 6f 72 6d 61 74 1.+++ doc/format
19b0: 2e 6e 09 31 20 44 65 63 20 32 30 30 38 20 30 30 .n.1 Dec 2008 00
19c0: 3a 34 36 3a 30 34 20 2d 30 30 30 30 0a 40 40 20 :46:04 -0000.@@
19d0: 2d 38 37 2c 36 20 2b 38 37 2c 38 20 40 40 0a 20 -87,6 +87,8 @@.
19e0: 63 6f 6e 76 65 72 73 69 6f 6e 73 20 69 74 20 67 conversions it g
19f0: 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 uarantees that t
1a00: 68 65 20 66 69 72 73 74 20 64 69 67 69 74 20 69 he first digit i
1a10: 73 20 61 6c 77 61 79 73 20 5c 66 42 30 5c 66 52 s always \fB0\fR
1a20: 2e 0a 20 46 6f 72 20 5c 66 42 78 5c 66 52 20 6f .. For \fBx\fR o
1a30: 72 20 5c 66 42 58 5c 66 52 20 63 6f 6e 76 65 72 r \fBX\fR conver
1a40: 73 69 6f 6e 73 2c 20 5c 66 42 30 78 5c 66 52 20 sions, \fB0x\fR
1a50: 6f 72 20 5c 66 42 30 58 5c 66 52 20 28 72 65 73 or \fB0X\fR (res
1a60: 70 65 63 74 69 76 65 6c 79 29 0a 20 77 69 6c 6c pectively). will
1a70: 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 be added to the
1a80: 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 beginning of th
1a90: 65 20 72 65 73 75 6c 74 20 75 6e 6c 65 73 73 20 e result unless
1aa0: 69 74 20 69 73 20 7a 65 72 6f 2e 0a 2b 46 6f 72 it is zero..+For
1ab0: 20 5c 66 42 62 5c 66 52 20 63 6f 6e 76 65 72 73 \fBb\fR convers
1ac0: 69 6f 6e 73 2c 20 5c 66 42 30 62 5c 66 52 0a 2b ions, \fB0b\fR.+
1ad0: 77 69 6c 6c 20 62 65 20 61 64 64 65 64 20 74 6f will be added to
1ae0: 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f the beginning o
1af0: 66 20 74 68 65 20 72 65 73 75 6c 74 20 75 6e 6c f the result unl
1b00: 65 73 73 20 69 74 20 69 73 20 7a 65 72 6f 2e 0a ess it is zero..
1b10: 20 46 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 69 6e For all floatin
1b20: 67 2d 70 6f 69 6e 74 20 63 6f 6e 76 65 72 73 69 g-point conversi
1b30: 6f 6e 73 20 28 5c 66 42 65 5c 66 52 2c 20 5c 66 ons (\fBe\fR, \f
1b40: 42 45 5c 66 52 2c 20 5c 66 42 66 5c 66 52 2c 0a BE\fR, \fBf\fR,.
1b50: 20 5c 66 42 67 5c 66 52 2c 20 61 6e 64 20 5c 66 \fBg\fR, and \f
1b60: 42 47 5c 66 52 29 20 69 74 20 67 75 61 72 61 6e BG\fR) it guaran
1b70: 74 65 65 73 20 74 68 61 74 20 74 68 65 20 72 65 tees that the re
1b80: 73 75 6c 74 20 61 6c 77 61 79 73 20 0a 20 68 61 sult always . ha
1b90: 73 20 61 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e s a decimal poin
1ba0: 74 2e 0a 40 40 20 2d 31 36 31 2c 36 20 2b 31 36 t..@@ -161,6 +16
1bb0: 33 2c 39 20 40 40 0a 20 2e 51 57 20 30 31 32 33 3,9 @@. .QW 0123
1bc0: 34 35 36 37 38 39 41 42 43 44 45 46 0a 20 66 6f 456789ABCDEF. fo
1bd0: 72 20 5c 66 42 58 5c 66 52 29 2e 0a 20 2e 54 50 r \fBX\fR).. .TP
1be0: 20 31 30 0a 2b 5c 66 42 62 5c 66 52 0a 2b 43 6f 10.+\fBb\fR.+Co
1bf0: 6e 76 65 72 74 20 69 6e 74 65 67 65 72 20 74 6f nvert integer to
1c00: 20 62 69 6e 61 72 79 20 73 74 72 69 6e 67 2c 20 binary string,
1c10: 75 73 69 6e 67 20 64 69 67 69 74 73 20 30 20 61 using digits 0 a
1c20: 6e 64 20 31 2e 0a 2b 2e 54 50 20 31 30 0a 20 5c nd 1..+.TP 10. \
1c30: 66 42 63 5c 66 52 0a 20 43 6f 6e 76 65 72 74 20 fBc\fR. Convert
1c40: 69 6e 74 65 67 65 72 20 74 6f 20 74 68 65 20 55 integer to the U
1c50: 6e 69 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 nicode character
1c60: 20 69 74 20 72 65 70 72 65 73 65 6e 74 73 2e 0a it represents..
1c70: 20 2e 54 50 20 31 30 0a 40 40 20 2d 32 30 33 2c .TP 10.@@ -203,
1c80: 36 20 2b 32 30 38 2c 37 20 40 40 0a 20 2e 49 50 6 +208,7 @@. .IP
1c90: 20 5b 33 5d 0a 20 54 68 65 20 73 69 7a 65 20 6d [3]. The size m
1ca0: 6f 64 69 66 69 65 72 73 20 61 72 65 20 69 67 6e odifiers are ign
1cb0: 6f 72 65 64 20 77 68 65 6e 20 66 6f 72 6d 61 74 ored when format
1cc0: 74 69 6e 67 20 66 6c 6f 61 74 69 6e 67 2d 70 6f ting floating-po
1cd0: 69 6e 74 20 76 61 6c 75 65 73 2e 0a 20 54 68 65 int values.. The
1ce0: 20 5c 66 42 6c 6c 5c 66 52 20 6d 6f 64 69 66 69 \fBll\fR modifi
1cf0: 65 72 20 68 61 73 20 6e 6f 20 5c 66 42 73 70 72 er has no \fBspr
1d00: 69 6e 74 66 5c 66 52 20 63 6f 75 6e 74 65 72 70 intf\fR counterp
1d10: 61 72 74 2e 0a 2b 54 68 65 20 5c 66 42 62 5c 66 art..+The \fBb\f
1d20: 52 20 73 70 65 63 69 66 69 65 72 20 68 61 73 20 R specifier has
1d30: 6e 6f 20 5c 66 42 73 70 72 69 6e 74 66 5c 66 52 no \fBsprintf\fR
1d40: 20 63 6f 75 6e 74 65 72 70 61 72 74 2e 0a 20 2e counterpart.. .
1d50: 53 48 20 45 58 41 4d 50 4c 45 53 0a 20 2e 50 50 SH EXAMPLES. .PP
1d60: 0a 20 43 6f 6e 76 65 72 74 20 74 68 65 20 6e 75 . Convert the nu
1d70: 6d 65 72 69 63 20 76 61 6c 75 65 20 6f 66 20 61 meric value of a
1d80: 20 55 4e 49 43 4f 44 45 20 63 68 61 72 61 63 74 UNICODE charact
1d90: 65 72 20 74 6f 20 74 68 65 20 63 68 61 72 61 63 er to the charac
1da0: 74 65 72 0a 49 6e 64 65 78 3a 20 64 6f 63 2f 73 ter.Index: doc/s
1db0: 63 61 6e 2e 6e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d can.n.==========
1dc0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1dd0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1de0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
1df0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 52 43 53 20 66 69 =========.RCS fi
1e00: 6c 65 3a 20 2f 63 76 73 72 6f 6f 74 2f 74 63 6c le: /cvsroot/tcl
1e10: 2f 74 63 6c 2f 64 6f 63 2f 73 63 61 6e 2e 6e 2c /tcl/doc/scan.n,
1e20: 76 0a 72 65 74 72 69 65 76 69 6e 67 20 72 65 76 v.retrieving rev
1e30: 69 73 69 6f 6e 20 31 2e 32 36 0a 64 69 66 66 20 ision 1.26.diff
1e40: 2d 75 20 2d 72 31 2e 32 36 20 73 63 61 6e 2e 6e -u -r1.26 scan.n
1e50: 0a 2d 2d 2d 20 64 6f 63 2f 73 63 61 6e 2e 6e 09 .--- doc/scan.n.
1e60: 31 37 20 4f 63 74 20 32 30 30 38 20 31 30 3a 32 17 Oct 2008 10:2
1e70: 32 3a 32 35 20 2d 30 30 30 30 09 31 2e 32 36 0a 2:25 -0000.1.26.
1e80: 2b 2b 2b 20 64 6f 63 2f 73 63 61 6e 2e 6e 09 31 +++ doc/scan.n.1
1e90: 20 44 65 63 20 32 30 30 38 20 30 30 3a 34 36 3a Dec 2008 00:46:
1ea0: 30 34 20 2d 30 30 30 30 0a 40 40 20 2d 31 30 34 04 -0000.@@ -104
1eb0: 2c 36 20 2b 31 30 34 2c 31 32 20 40 40 0a 20 49 ,6 +104,12 @@. I
1ec0: 74 20 69 73 20 72 65 61 64 20 69 6e 20 61 6e 64 t is read in and
1ed0: 20 74 68 65 20 69 6e 74 65 67 65 72 20 76 61 6c the integer val
1ee0: 75 65 20 69 73 20 73 74 6f 72 65 64 20 69 6e 20 ue is stored in
1ef0: 74 68 65 20 76 61 72 69 61 62 6c 65 2c 0a 20 74 the variable,. t
1f00: 72 75 6e 63 61 74 65 64 20 61 73 20 72 65 71 75 runcated as requ
1f10: 69 72 65 64 20 62 79 20 74 68 65 20 73 69 7a 65 ired by the size
1f20: 20 6d 6f 64 69 66 69 65 72 20 76 61 6c 75 65 2e modifier value.
1f30: 0a 20 2e 54 50 20 31 30 0a 2b 5c 66 42 62 5c 66 . .TP 10.+\fBb\f
1f40: 52 0a 2b 2e 0a 2b 54 68 65 20 69 6e 70 75 74 20 R.+..+The input
1f50: 73 75 62 73 74 72 69 6e 67 20 6d 75 73 74 20 62 substring must b
1f60: 65 20 61 20 62 69 6e 61 72 79 20 69 6e 74 65 67 e a binary integ
1f70: 65 72 2e 0a 2b 49 74 20 69 73 20 72 65 61 64 20 er..+It is read
1f80: 69 6e 20 61 6e 64 20 74 68 65 20 69 6e 74 65 67 in and the integ
1f90: 65 72 20 76 61 6c 75 65 20 69 73 20 73 74 6f 72 er value is stor
1fa0: 65 64 20 69 6e 20 74 68 65 20 76 61 72 69 61 62 ed in the variab
1fb0: 6c 65 2c 0a 2b 74 72 75 6e 63 61 74 65 64 20 61 le,.+truncated a
1fc0: 73 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 s required by th
1fd0: 65 20 73 69 7a 65 20 6d 6f 64 69 66 69 65 72 20 e size modifier
1fe0: 76 61 6c 75 65 2e 0a 2b 2e 54 50 20 31 30 0a 20 value..+.TP 10.
1ff0: 5c 66 42 75 5c 66 52 0a 20 2e 0a 20 54 68 65 20 \fBu\fR. .. The
2000: 69 6e 70 75 74 20 73 75 62 73 74 72 69 6e 67 20 input substring
2010: 6d 75 73 74 20 62 65 20 61 20 64 65 63 69 6d 61 must be a decima
2020: 6c 20 69 6e 74 65 67 65 72 2e 0a l integer..