Loading...
sys.subproj/gettimeofday.c Libc-186 Libc-167
--- Libc/Libc-186/sys.subproj/gettimeofday.c
+++ Libc/Libc-167/sys.subproj/gettimeofday.c
@@ -36,26 +36,21 @@
 {
         static int validtz = 0;
         static struct timezone cached_tz = {0};
-        struct timeval localtv;
-  
-        if (tzp && (tp == NULL) && (validtz == 0)) {
-                tp = &localtv;
-        }
 
         if (syscall (SYS_gettimeofday, tp, tzp) < 0) {
                 return (-1);
         }
+        if (validtz == 0)  {
+		struct tm *localtm = localtime ((time_t *)&tp->tv_sec);
+                cached_tz.tz_dsttime = localtm->tm_isdst;
+                cached_tz.tz_minuteswest =
+                        (-localtm->tm_gmtoff / SECSPERMIN) +
+                        (localtm->tm_isdst * MINSPERHOUR);
+                validtz = 1;
+        }
         if (tzp) {
-		if (validtz == 0)  {
-			struct tm *localtm = localtime ((time_t *)&tp->tv_sec);
-			cached_tz.tz_dsttime = localtm->tm_isdst;
-			cached_tz.tz_minuteswest =
-				(-localtm->tm_gmtoff / SECSPERMIN) +
-				(localtm->tm_isdst * MINSPERHOUR);
-			validtz = 1;
-		}
-		tzp->tz_dsttime = cached_tz.tz_dsttime;
-		tzp->tz_minuteswest = cached_tz.tz_minuteswest;
+          tzp->tz_dsttime = cached_tz.tz_dsttime;
+          tzp->tz_minuteswest = cached_tz.tz_minuteswest;
         }
         return (0);
 }