GNU bug report logs -
#7325
new test failure due to non-portability of printf formats like %05.3s
Previous Next
Reported by: Jim Meyering <jim <at> meyering.net>
Date: Wed, 3 Nov 2010 18:56:02 UTC
Severity: normal
Done: Pádraig Brady <P <at> draigBrady.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On 11/03/2010 12:59 PM, Jim Meyering wrote:
> Note that coreutils' printf does not accept the '0' modifier in a %s format.
>
> $ env printf '%05.3s\n' 23
> printf: %05.3s: invalid conversion specification
>
> That's because POSIX says the "0" modifier applies only to the
> d, i, o, u, x, X, a, A, e, E, f, F, g, and G conversion specifiers.
>
> One solution is to trim off the "0".
> It's probably a good idea regardless, in case some implementation rejects it.
>
> On the other hand, I find the zero-padding you currently get
> with stat on solaris to be slightly more intuitive.
I agree that %05.3:X resulting in 00023 would be ideal. And I agree
that we'd have to trim off the 0 modifier before calling the underlying
printf %s, and thus be responsible for putting in '0' padding ourselves
rather than relying on printf() padding.
--
Eric Blake eblake <at> redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
[signature.asc (application/pgp-signature, attachment)]
This bug report was last modified 14 years and 191 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.