Mercurial > hg > octave-nkf > gnulib-hg
changeset 12207:35acba1c7bcd
timespec: long-to-int truncation could make timespec_cmp malfunction
* lib/timespec.h (timespec_cmp): Do not interpret a difference of
a multiple of 2^32 nanoseconds as no difference.
author | Jim Meyering <meyering@redhat.com> |
---|---|
date | Thu, 29 Oct 2009 11:52:34 +0100 |
parents | 5b7b0b8645f1 |
children | a377ab624fcc |
files | ChangeLog lib/timespec.h |
diffstat | 2 files changed, 10 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-10-29 Jim Meyering <meyering@redhat.com> + + timespec: long-to-int truncation could make timespec_cmp malfunction + * lib/timespec.h (timespec_cmp): Do not interpret a difference of + a multiple of 2^32 nanoseconds as no difference. + 2009-10-28 Jim Meyering <meyering@redhat.com> fprintftime: wrap macro code argument in "do {...} while(0)"
--- a/lib/timespec.h +++ b/lib/timespec.h @@ -1,6 +1,6 @@ /* timespec -- System time interface - Copyright (C) 2000, 2002, 2004, 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2000, 2002, 2004, 2005, 2007, 2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,7 +27,9 @@ { return (a.tv_sec < b.tv_sec ? -1 : a.tv_sec > b.tv_sec ? 1 - : a.tv_nsec - b.tv_nsec); + : a.tv_nsec < b.tv_nsec ? -1 + : a.tv_nsec > b.tv_nsec ? 1 + : 0); } void gettime (struct timespec *);