Merge commit 'upstream/3.1.0'
[debian/amanda] / gnulib / gettimeofday.c
index 7579130bc238aa5cb8d3ccd2ed75601938f71acb..7e711f790dd3537c90b7d1879fcb7a924abfe531 100644 (file)
@@ -5,7 +5,7 @@
 
    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
 
    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
-   the Free Software Foundation; either version 3, or (at your option)
+   the Free Software Foundation; either version 2, or (at your option)
    any later version.
 
    This program is distributed in the hope that it will be useful,
    any later version.
 
    This program is distributed in the hope that it will be useful,
 static struct tm tm_zero_buffer;
 static struct tm *localtime_buffer_addr = &tm_zero_buffer;
 
 static struct tm tm_zero_buffer;
 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.
 
 /* This is a wrapper for localtime.  It is used only on systems for which
    gettimeofday clobbers the static buffer used for localtime's result.
 
@@ -50,8 +56,6 @@ static struct tm *localtime_buffer_addr = &tm_zero_buffer;
 struct tm *
 rpl_localtime (time_t const *timep)
 {
 struct tm *
 rpl_localtime (time_t const *timep)
 {
-#undef localtime
-  extern struct tm *localtime (time_t const *);
   struct tm *tm = localtime (timep);
 
   if (localtime_buffer_addr == &tm_zero_buffer)
   struct tm *tm = localtime (timep);
 
   if (localtime_buffer_addr == &tm_zero_buffer)
@@ -64,8 +68,6 @@ rpl_localtime (time_t const *timep)
 struct tm *
 rpl_gmtime (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)
   struct tm *tm = gmtime (timep);
 
   if (localtime_buffer_addr == &tm_zero_buffer)
@@ -77,14 +79,15 @@ rpl_gmtime (time_t const *timep)
 #endif /* GETTIMEOFDAY_CLOBBERS_LOCALTIME || TZSET_CLOBBERS_LOCALTIME */
 
 #if TZSET_CLOBBERS_LOCALTIME
 #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)
 {
 /* 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;
   /* Save and restore the contents of the buffer used for localtime's
      result around the call to tzset.  */
   struct tm save = *localtime_buffer_addr;
@@ -98,7 +101,7 @@ rpl_tzset (void)
    causes problems.  */
 
 int
    causes problems.  */
 
 int
-rpl_gettimeofday (struct timeval *tv, void *tz)
+rpl_gettimeofday (struct timeval *restrict tv, void *restrict tz)
 {
 #undef gettimeofday
 #if HAVE_GETTIMEOFDAY
 {
 #undef gettimeofday
 #if HAVE_GETTIMEOFDAY