digitalmars.D.bugs - [Issue 9797] New: to!int() cannot convert hexadecimal numbers
- d-bugmail puremagic.com (25/25) Mar 23 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9797
- d-bugmail puremagic.com (11/11) Mar 23 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9797
- d-bugmail puremagic.com (17/19) Apr 15 2013 http://d.puremagic.com/issues/show_bug.cgi?id=9797
http://d.puremagic.com/issues/show_bug.cgi?id=9797 Summary: to!int() cannot convert hexadecimal numbers Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: major Priority: P2 Component: Phobos AssignedTo: nobody puremagic.com ReportedBy: kodlists-dlang yahoo.com 10:14:23 PDT --- $ cat conv_bug.d import std.conv; void main() { auto var = to!int("0x123"); } $ rdmd conv_bug.d std.conv.ConvException /usr/include/dmd/phobos/std/conv.d(1612): Unexpected 'x' when converting from type string to type int -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 23 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9797 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich gmail.com 10:39:40 PDT --- This might end up being rejected like Issue 7692. See comment https://github.com/D-Programming-Language/phobos/pull/835#discussion_r1764414. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 23 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9797 19:25:49 PDT ---This might end up being rejected like Issue 7692. See comment https://github.com/D-Programming-Language/phobos/pull/835#discussion_r1764414.The reason given to close issue 7692 is wrong. In D a hexadecimal number is prefixed with 0x. Not being able to recognize a valid D hexadecimal number is a bug in to!int(). Below is what C's strtol() does and parse!int() should behave same. value = strtol("0xyz", &leftover, 0); // value == 0, leftover == "xyz" value = strtol("0xyz", &leftover, 16); // value == 0, leftover == "xyz" value = strtol("0x0x", &leftover, 0); // value == 0, leftover == "x" value = strtol("0x0x", &leftover, 16); // value == 0, leftover == "x" value = strtol("0x0x", &leftover, 10); // value == 0, leftover == "x0x" value = strtol("abcd", &leftover, 0); // value == 0, leftover == "abcd" value = strtol("abcd", &leftover, 16); // value == 0xabcd, leftover == "" -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Apr 15 2013