From c7375c236ca5fa23661388e9f9c41e8312eb0cce Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 5 Nov 2010 19:35:12 -0700 Subject: 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 | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 3b9bea25a..0cd615332 100644 --- a/NEWS +++ b/NEWS @@ -20,15 +20,12 @@ GNU coreutils NEWS -*- outline -*- stat's %X, %Y, and %Z directives once again print only the integer part of seconds since the epoch. This reverts a change from coreutils-8.6, that was deemed unnecessarily disruptive. To obtain - the nanoseconds portion corresponding to %X, you may now use %:X. - I.e., to print the floating point number of seconds using maximum - precision, use this format string: %X.%:X. Likewise for %Y, %Z and %W. + a full resolution time stamp for %X, use %.X; if you want (say) just + 3 fractional digits, use %.3X. Likewise for %Y and %Z. stat's new %W format directive would print floating point seconds. However, with the above change to %X, %Y and %Z, we've made %W work - the same way: %W now expands to seconds since the epoch (or 0 when - not supported), and %:W expands to the nanoseconds portion, or to - 0 if not supported. + the same way as the others. * Noteworthy changes in release 8.6 (2010-10-15) [stable] -- cgit v1.2.3-54-g00ecf