svn commit: r285552 - head/usr.bin/xargs
Ian Lepore
ian at freebsd.org
Wed Jul 15 03:25:59 UTC 2015
On Tue, 2015-07-14 at 17:02 -0700, Xin Li wrote:
> On 07/14/15 15:17, Ian Lepore wrote:
> > On Tue, 2015-07-14 at 13:44 -0700, Xin Li wrote:
> >> On 07/14/15 13:29, Garrett Cooper wrote:
> >>> On Jul 14, 2015, at 12:16, Baptiste Daroussin
> >>> <bapt at FreeBSD.org> wrote:
> >>>
> >>>> Author: bapt Date: Tue Jul 14 19:16:14 2015 New Revision:
> >>>> 285552 URL: https://svnweb.freebsd.org/changeset/base/285552
> >>>>
> >>>> Log: Convert atoi(3) to stronum(3) which allows to arguments
> >>>> and report proper errors to the users
> >>>
> >>> Is strtonum preferred over strtoll, etc?
> >>
> >> strtonum(3) is a wrapper of strtoll() and provides more
> >> functionality like range checking, so I think the answer would be
> >> yes.
> >>
> >> Cheers,
> >>
> >
> > Except if we convert all our tools that take numbers on the command
> > line to use strtonum() then peoples' existing scripts and other
> > automation that passes 0xWhatever numbers suddenly stop working.
> > strtonum() seems to be about 2/3 of a good idea.
>
> I think the caller has to be calling with 0 or 16 as base to request
> that behavior? If we are converting from atoi, the base number is a
> fixed value of 10.
>
> My only concern with strtonum() is that it's English only.
>
> Cheers,
revolution > cd src
/bsdstg/head/src
revolution > gs . 'strto.*l.*\(.*0\)' | wc -l
2176
revolution > gs . 'strto.*l.*\(.*10\)' | wc -l
1097
Looks like about half our strtol-ish calls specify 10 instead of 0.
Many of those are in the compilers and other places where it really has
to be 10. Probably a good number of them are places that really should
just be 0. I know over the years I've been pleasantly surprised and
occasionally disappointed about being able to use 0x numbers on command
lines and config files where it felt more natural.
-- Ian
More information about the svn-src-head
mailing list