Thread overview | |||||
---|---|---|---|---|---|
|
February 14, 2013 std.regex: bug or something special? | ||||
---|---|---|---|---|
| ||||
Hi, I am reading std.regex. I found the following code on line 671: else if('A' <= current && current <= 'Z') val = val * 16 + current - 'A' + 10; Hex digits are parsed there. So unles this is something special, this is a bug. Because for example what 'J' would mean in this context? |
February 14, 2013 Re: std.regex: bug or something special? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lubos Pintes | 14-Feb-2013 22:24, Lubos Pintes пишет: > Hi, > I am reading std.regex. I found the following code on line 671: > else if('A' <= current && current <= 'Z') > val = val * 16 + current - 'A' + 10; > > Hex digits are parsed there. So unles this is something special, this is > a bug. Because for example what 'J' would mean in this context? A bug. Especially considering the full source: if('0' <= current && current <= '9') val = val * 16 + current - '0'; else if('a' <= current && current <= 'f') val = val * 16 + current -'a' + 10; else if('A' <= current && current <= 'Z') val = val * 16 + current - 'A' + 10; I'd say file it or better yet submit a pull with a unittest that presently does something fishy. For instance "\u00JJ" would parse and match m-hm 'J'-'A' * 16 + 'J' - 'A' where it shouldn't parse in the first place. -- Dmitry Olshansky |
February 14, 2013 Re: std.regex: bug or something special? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Lubos Pintes | On Thu, Feb 14, 2013 at 07:24:32PM +0100, Lubos Pintes wrote: > Hi, > I am reading std.regex. I found the following code on line 671: > else if('A' <= current && current <= 'Z') > val = val * 16 + current - 'A' + 10; > > Hex digits are parsed there. So unles this is something special, this is a bug. Because for example what 'J' would mean in this context? Looks like a bug. The last clause of the if-condition should check <= 'F', not <= 'Z'. Please file a bug at http://d.puremagic.com/issues . T -- GEEK = Gatherer of Extremely Enlightening Knowledge |
Copyright © 1999-2021 by the D Language Foundation