X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fgettimeofday.c;h=14304fa385e6203b32cb1e3555f2aeb19047c0f6;hb=e8269e90e35140ebb75f39669d39bd021e364105;hp=badbf643516f227ed07f4b0f3a24b0a18eba6572;hpb=b4c5933136d31eeb6d8abc2301044a5a7dfe4676;p=gnulib.git diff --git a/lib/gettimeofday.c b/lib/gettimeofday.c index badbf6435..14304fa38 100644 --- a/lib/gettimeofday.c +++ b/lib/gettimeofday.c @@ -1,7 +1,6 @@ /* Provide gettimeofday for systems that don't have it or for which it's broken. - Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007 Free Software - Foundation, Inc. + Copyright (C) 2001-2003, 2005-2007, 2009-2010 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 @@ -44,6 +43,9 @@ static struct tm *localtime_buffer_addr = &tm_zero_buffer; #undef localtime extern struct tm *localtime (time_t const *); +#undef gmtime +extern struct tm *gmtime (time_t const *); + /* This is a wrapper for localtime. It is used only on systems for which gettimeofday clobbers the static buffer used for localtime's result. @@ -65,8 +67,6 @@ rpl_localtime (time_t const *timep) struct tm * rpl_gmtime (time_t const *timep) { -#undef gmtime - extern struct tm *gmtime (time_t const *); struct tm *tm = gmtime (timep); if (localtime_buffer_addr == &tm_zero_buffer) @@ -78,14 +78,15 @@ rpl_gmtime (time_t const *timep) #endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */ #if TZSET_CLOBBERS_LOCALTIME + +#undef tzset +extern void tzset (void); + /* This is a wrapper for tzset, for systems on which tzset may clobber the static buffer used for localtime's result. */ void rpl_tzset (void) { -#undef tzset - extern void tzset (void); - /* Save and restore the contents of the buffer used for localtime's result around the call to tzset. */ struct tm save = *localtime_buffer_addr; @@ -109,7 +110,7 @@ rpl_gettimeofday (struct timeval *restrict tv, void *restrict tz) struct tm save = *localtime_buffer_addr; # endif - int result = gettimeofday (tv, tz); + int result = gettimeofday (tv, (struct timezone *) tz); # if GETTIMEOFDAY_CLOBBERS_LOCALTIME *localtime_buffer_addr = save;