Date: Tue, 14 Jul 2015 21:25:51 -0600 From: Ian Lepore <ian@freebsd.org> To: d@delphij.net Cc: Garrett Cooper <yaneurabeya@gmail.com>, Baptiste Daroussin <bapt@FreeBSD.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r285552 - head/usr.bin/xargs Message-ID: <1436930751.1334.325.camel@freebsd.org> In-Reply-To: <55A5A30F.4070005@delphij.net> References: <201507141916.t6EJGEG1083928@repo.freebsd.org> <48222CD1-7087-4C9A-A586-71F6A37A601C@gmail.com> <55A574BA.4090700@delphij.net> <1436912270.1334.309.camel@freebsd.org> <55A5A30F.4070005@delphij.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1436930751.1334.325.camel>