X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fgettime.c;h=715d1916a3d0ddd8081cefe604488e1db51f4449;hb=8912e6d4dccc2f3b7d125229ef9ee05dda1f36ed;hp=528060733065df1ad0292436a19ef7285b6c36cd;hpb=eb557cbc75dafc5852f0aa5c1aa145b5ad514fbe;p=gnulib.git diff --git a/lib/gettime.c b/lib/gettime.c index 528060733..715d1916a 100644 --- a/lib/gettime.c +++ b/lib/gettime.c @@ -1,5 +1,5 @@ /* gettime -- get the system clock - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2004 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 @@ -33,14 +33,27 @@ gettime (struct timespec *ts) return 0; #endif +#if HAVE_GETTIMEOFDAY { struct timeval tv; - int r = gettimeofday (&tv, 0); - if (r == 0) + if (gettimeofday (&tv, 0) == 0) { ts->tv_sec = tv.tv_sec; ts->tv_nsec = tv.tv_usec * 1000; + return 0; } - return r; } +#endif + + { + time_t t = time (0); + if (t != (time_t) -1) + { + ts->tv_sec = t; + ts->tv_nsec = 0; + return 0; + } + } + + return -1; }