projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
stdlib: sort witness names
[gnulib.git]
/
lib
/
gettimeofday.c
diff --git
a/lib/gettimeofday.c
b/lib/gettimeofday.c
index
bd5576c
..
1cf752a
100644
(file)
--- a/
lib/gettimeofday.c
+++ b/
lib/gettimeofday.c
@@
-1,6
+1,6
@@
/* Provide gettimeofday for systems that don't have it or for which it's broken.
/* 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
+ Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007
, 2009
Free Software
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@
-41,6
+41,12
@@
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.
@@
-48,10
+54,8
@@
static struct tm *localtime_buffer_addr = &tm_zero_buffer;
localtime uses for its result. */
struct tm *
localtime uses for its result. */
struct tm *
-localtime (time_t const *timep)
+
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)
@@
-62,10
+66,8
@@
localtime (time_t const *timep)
/* Same as above, since gmtime and localtime use the same buffer. */
struct tm *
/* Same as above, since gmtime and localtime use the same buffer. */
struct tm *
-gmtime (time_t const *timep)
+
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
@@
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
/* This is a wrapper for tzset, for systems on which tzset may clobber
the static buffer used for localtime's result. */
void
-tzset (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;
@@
-108,7
+111,7
@@
rpl_gettimeofday (struct timeval *restrict tv, void *restrict tz)
struct tm save = *localtime_buffer_addr;
# endif
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;
# if GETTIMEOFDAY_CLOBBERS_LOCALTIME
*localtime_buffer_addr = save;