diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2018-09-10 18:42:25 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2018-09-10 18:43:46 -0700 |
commit | b021c53fd4dc009a144db2312d195dd925f0e6fd (patch) | |
tree | 4c5a792eecbcf3adfc6fb237bee27451b3b857fe /lib/dtotimespec.c | |
parent | 8b55a44258e3a217dec66acb8398e7d00059de4b (diff) | |
download | gnulib-b021c53fd4dc009a144db2312d195dd925f0e6fd.tar.gz |
timespec: fix resolution confusion
In normal usage, clock resolution is given in seconds, but the
code was mistakenly using inverse seconds and calling it
“resolution”. Fix this, partly by renaming two identifiers.
The old names will be kept for a bit, to ease transition.
* lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
New constants, replacing TIMESPEC_RESOLUTION and
LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
All uses changed.
Diffstat (limited to 'lib/dtotimespec.c')
-rw-r--r-- | lib/dtotimespec.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/dtotimespec.c b/lib/dtotimespec.c index 599f7427a9..dcbd28051c 100644 --- a/lib/dtotimespec.c +++ b/lib/dtotimespec.c @@ -32,20 +32,20 @@ dtotimespec (double sec) if (! (TYPE_MINIMUM (time_t) < sec)) return make_timespec (TYPE_MINIMUM (time_t), 0); else if (! (sec < 1.0 + TYPE_MAXIMUM (time_t))) - return make_timespec (TYPE_MAXIMUM (time_t), TIMESPEC_RESOLUTION - 1); + return make_timespec (TYPE_MAXIMUM (time_t), TIMESPEC_HZ - 1); else { time_t s = sec; - double frac = TIMESPEC_RESOLUTION * (sec - s); + double frac = TIMESPEC_HZ * (sec - s); long ns = frac; ns += ns < frac; - s += ns / TIMESPEC_RESOLUTION; - ns %= TIMESPEC_RESOLUTION; + s += ns / TIMESPEC_HZ; + ns %= TIMESPEC_HZ; if (ns < 0) { s--; - ns += TIMESPEC_RESOLUTION; + ns += TIMESPEC_HZ; } return make_timespec (s, ns); |