Date: Fri, 21 Jan 2005 00:58:07 +0300 From: Andrey Chernov <ache@nagual.pp.ru> To: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>, current@FreeBSD.ORG, bde@FreeBSD.ORG Subject: Re: Implementation errors in strtol() Message-ID: <20050120215807.GA70629@nagual.pp.ru> In-Reply-To: <20050120214406.GA70088@nagual.pp.ru> References: <20050120192324.GA30862@uriah.heep.sax.de> <20050120205501.GA69123@nagual.pp.ru> <20050120211449.GC30862@uriah.heep.sax.de> <20050120214406.GA70088@nagual.pp.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 21, 2005 at 12:44:06AM +0300, Andrey Chernov wrote: > > Still, my major point was that "0x" sequences are falsely rejected as > > It clearly should be rejected with EINVAL in case base == 16, > because 0 alone is not valid HEX sequence and no valid sequence found at > this point. I am not sure about other bases. It seems I am wrong here and you are right. POSIX says that 0x is optional even for base 16. So "0xZ" with base 16 means just 0. If our strtol() produce error here, it should be fixed: "If the value of base is 16, the characters 0x or 0X may optionally ^^^^^^^^^^^ precede the sequence of letters and digits, following the sign if present." -- http://ache.pp.ru/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050120215807.GA70629>