diff options
Diffstat (limited to 'sysdeps/posix')
-rw-r--r-- | sysdeps/posix/gettimeofday.c | 31 | ||||
-rw-r--r-- | sysdeps/posix/time.c | 2 |
2 files changed, 5 insertions, 28 deletions
diff --git a/sysdeps/posix/gettimeofday.c b/sysdeps/posix/gettimeofday.c index 6ba625e..f5c462e 100644 --- a/sysdeps/posix/gettimeofday.c +++ b/sysdeps/posix/gettimeofday.c @@ -31,34 +31,11 @@ __gettimeofday (struct timeval *tv, struct timezone *tz) return -1; } - tv->tv_sec = (long int) time ((time_t *) NULL); - tv->tv_usec = 0L; + if (tz) + memset (tz, 0, sizeof (struct timezone)); - if (tz != NULL) - { - const time_t timer = tv->tv_sec; - struct tm tm; - const struct tm *tmp; - - const long int save_timezone = __timezone; - const long int save_daylight = __daylight; - char *save_tzname[2]; - save_tzname[0] = __tzname[0]; - save_tzname[1] = __tzname[1]; - - tmp = localtime_r (&timer, &tm); - - tz->tz_minuteswest = __timezone / 60; - tz->tz_dsttime = __daylight; - - __timezone = save_timezone; - __daylight = save_daylight; - __tzname[0] = save_tzname[0]; - __tzname[1] = save_tzname[1]; - - if (tmp == NULL) - return -1; - } + tv->tv_usec = 0; + tv->tv_sec = time (0); return 0; } diff --git a/sysdeps/posix/time.c b/sysdeps/posix/time.c index e1b3bc8..2f7f7a6 100644 --- a/sysdeps/posix/time.c +++ b/sysdeps/posix/time.c @@ -28,7 +28,7 @@ time (time_t *t) struct timeval tv; time_t result; - if (__gettimeofday (&tv, (struct timezone *) NULL)) + if (__gettimeofday (&tv, 0)) result = (time_t) -1; else result = (time_t) tv.tv_sec; |