projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gettimeofday: port recent C++ fix to Emacs
[gnulib.git]
/
lib
/
timespec-sub.c
diff --git
a/lib/timespec-sub.c
b/lib/timespec-sub.c
index
97c9f9d
..
3f3adea
100644
(file)
--- a/
lib/timespec-sub.c
+++ b/
lib/timespec-sub.c
@@
-18,8
+18,8
@@
/* Written by Paul Eggert. */
/* Return the difference between two timespec values A and B. On
/* Written by Paul Eggert. */
/* Return the difference between two timespec values A and B. On
- overflow, return an extremal value. This assumes 0 <= tv_nsec <
=
-
999999999
. */
+ overflow, return an extremal value. This assumes 0 <= tv_nsec <
+
TIMESPEC_RESOLUTION
. */
#include <config.h>
#include "timespec.h"
#include <config.h>
#include "timespec.h"
@@
-29,7
+29,6
@@
struct timespec
timespec_sub (struct timespec a, struct timespec b)
{
struct timespec
timespec_sub (struct timespec a, struct timespec b)
{
- struct timespec r;
time_t rs = a.tv_sec;
time_t bs = b.tv_sec;
int ns = a.tv_nsec - b.tv_nsec;
time_t rs = a.tv_sec;
time_t bs = b.tv_sec;
int ns = a.tv_nsec - b.tv_nsec;
@@
-37,7
+36,7
@@
timespec_sub (struct timespec a, struct timespec b)
if (ns < 0)
{
if (ns < 0)
{
- rns = ns +
1000000000
;
+ rns = ns +
TIMESPEC_RESOLUTION
;
if (rs == TYPE_MINIMUM (time_t))
{
if (bs <= 0)
if (rs == TYPE_MINIMUM (time_t))
{
if (bs <= 0)
@@
-59,13
+58,11
@@
timespec_sub (struct timespec a, struct timespec b)
else
{
rs = TYPE_MAXIMUM (time_t);
else
{
rs = TYPE_MAXIMUM (time_t);
- rns =
999999999
;
+ rns =
TIMESPEC_RESOLUTION - 1
;
}
}
else
rs -= bs;
}
}
else
rs -= bs;
- r.tv_sec = rs;
- r.tv_nsec = rns;
- return r;
+ return make_timespec (rs, rns);
}
}