tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: strtonum(3) from OpenBSD?
On Mon, Jun 29, 2009 at 11:41:04PM -0400, James K. Lowden wrote:
>
> I fail to see how sscanf(3) is more error prone than strtonum(). No
> matter what, you have to specify -- via the name or the format string --
> the format of the input and of the receiving buffer. At least with
> sscanf(3) that's *all* you have to do.
Correct use of sscanf() for a single integer is something like:
count = sscanf(inbuf, "%i%n", &int_val, &byte_count);
if (count != 2 || inbuf[byte_count] != 0)
/* Conversion error */
I'm not sure that it is possible to detect numeric overflow.
If you start using more complicated format strings, then you have to
be even more careful that the user-supplied input is correctly processed.
David
--
David Laight: david%l8s.co.uk@localhost
Home |
Main Index |
Thread Index |
Old Index