stat: use e.g. %.3X instead of %X.%3:X for sub-second precision
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 6 Nov 2010 02:35:12 +0000 (19:35 -0700)
committerJim Meyering <meyering@redhat.com>
Sat, 6 Nov 2010 14:24:49 +0000 (15:24 +0100)
commitc7375c236ca5fa23661388e9f9c41e8312eb0cce
tree37fc8fa9c0b9765ddbc491abdffef6146688cfbe
parent312549b627b9cb634c5bc978bf3def44ea88be21
stat: use e.g. %.3X instead of %X.%3:X for sub-second precision

* NEWS: Document this.
* doc/coreutils.texi (stat invocation): Likewise.
* gl/lib/fstimeprec.c, gl/lib/fstimeprec.h, gl/modules/fstimeprec:
* gl/modules/fstimeprec-tests, gl/tests/test-fstimeprec.c:
New files.
* bootstrap.conf (gnulib_modules): Add fstimeprec.
* src/stat.c: Include fstimeprec.h.  Don't include xstrtol.h.
(decimal_point, decimal_point_len): New static vars.
(main): Initialize them.
(epoch_sec, out_ns): Remove.
(out_int, out_uint): Now returns whatever printf returned.
(out_minus_zero, out_epoch_secs): New functions.
(print_stat): Use out_epoch_sec instead of out_ns and epoch_sec.
(print_stat, print_it, usage): Remove the %:X-style formats.
* tests/misc/stat-nanoseconds: Set TZ=UTC0 to avoid problems
with weird time zones.  Use a time stamp near the Epoch so that we
don't have to worry about leap seconds.  Redo test cases to match
new behavior.
* tests/touch/60-seconds: Change %Y.%:Y to %.9Y, to adjust to
new behavior.
NEWS
bootstrap.conf
doc/coreutils.texi
gl/lib/fstimeprec.c [new file with mode: 0644]
gl/lib/fstimeprec.h [new file with mode: 0644]
gl/modules/fstimeprec [new file with mode: 0644]
gl/modules/fstimeprec-tests [new file with mode: 0644]
gl/tests/test-fstimeprec.c [new file with mode: 0644]
src/stat.c
tests/misc/stat-nanoseconds
tests/touch/60-seconds