- priority: 5 --> 2
- status: open --> closed-fixed
OriginalBugID: 3975 Bug
Version: 8.3b1
SubmitDate: '2000-01-05'
LastModified: '2000-01-10'
Severity: LOW
Status: Released
Submitter: techsupp
ChangedBy: hobbs
OS: All
OSVersion: Windows 98
Machine: P2 233, 64 Megs
FixedDate: '2000-01-10'
FixedInVersion: 8.3b2
ClosedDate: '2000-10-25'
Name:
Matthieu Bentot
ReproducibleScript:
string compare \80 \100
ObservedBehavior:
Reports 0 (equal): both equal "@".
Makes sense: 8<<3+0=(1<<3+0)<<3+0=64, yet 80 is not a valid octal value.
DesiredBehavior:
Either an error (not octal...) or not equal.
One could assume that, since 8 and 9 aren't octal digits, \8 and \9 would
be 8 and 9 respectively.
Patch:
No real patch, just need to replace
isdigit(UCHAR(*p)), in lines 867, 870 and 876 of tclUtf.c
by something like
( (UCHAR(*p)>='0') && (UCHAR(*p)<'8') )
PatchFiles:
tclUtf.c
fixed for 8.3b2
-- 01/10/2000 hobbs