Date: Fri, 21 Sep 2012 10:46:15 -0700 From: David Wolfskill <david@catwhisker.org> To: Jilles Tjoelker <jilles@stack.nl> Cc: stable@freebsd.org Subject: Re: /bin/sh arithmetic doesn't seem to like leading 0 now Message-ID: <20120921174615.GF28959@albert.catwhisker.org> In-Reply-To: <20120921173406.GC9070@stack.nl> References: <20120921170902.GC28959@albert.catwhisker.org> <20120921173406.GC9070@stack.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Fri, Sep 21, 2012 at 07:34:06PM +0200, Jilles Tjoelker wrote:
> ...
> > Is this intentional?
>
> Yes, it was changed with r216547, December 2010.
>
> This was done to avoid an inconsistency where constants starting with
> "0" and containing "8" or "9" were decimal, so something like
> $((018-017)) expanded to 3.
Ah; OK.
> There are indeed various cases where this inconsistency does not matter
> (because the numbers with leading zeroes do not exceed 10).
Sure. Especially when working with "month numbers". :-}
> > (I can work around it -- e.g., by using sed to strip leading 0 from the
> > month number (since strftime() doesn't appear to have a format that
> > provides the value in a form that lacks the leading zero for values <
> > 10). But I'd rather not do that if I don't need to.)
>
> You can use date +%-m although it is not in POSIX.
Ah -- I see that now ("%-* GNU libc extension....")
> With POSIX only, it is still possible to do it reasonably efficiently,
> for example $(( 1$(date +%m) - 100 )) or v=$(date +%m); v=${v#0}.
> ...
Thanks.
Peace,
david
--
David H. Wolfskill david@catwhisker.org
Depriving a girl or boy of an opportunity for education is evil.
See http://www.catwhisker.org/~david/publickey.gpg for my public key.
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)
iEYEARECAAYFAlBcp+cACgkQmprOCmdXAD0BiwCdFJ84BLv3FoygcebDVIWKyiMP
+r8AnjfDOOYTGQMzh/y8cozAfge9nufe
=vvx3
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120921174615.GF28959>
