X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/3d9156a7a519a5e3aa1b92e9d9d4b991f1aed7ff..85a3883466ad89169695b8a34635132d36a8fd2a:/sys/gettimeofday.c diff --git a/sys/gettimeofday.c b/sys/gettimeofday.c index c328715..959bbf5 100644 --- a/sys/gettimeofday.c +++ b/sys/gettimeofday.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2003-2005 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * @@ -40,32 +40,24 @@ int gettimeofday (struct timeval *tp, struct timezone *tzp) { + extern int __gettimeofday(struct timeval *, struct timezone *); + extern int __commpage_gettimeofday(struct timeval *); static int validtz = 0; static struct timezone cached_tz = {0}; - struct timeval localtv; + struct timeval atv; if (tp == NULL) { if (tzp == NULL) return (0); - tp = &localtv; + tp = &atv; } -#if defined(__ppc__) || defined(__ppc64__) - { - extern int __ppc_gettimeofday(struct timeval *, struct timezone *); - extern int __commpage_gettimeofday(struct timeval *); - - if (__commpage_gettimeofday(tp)) { /* first try commpage */ - if (__ppc_gettimeofday(tp,tzp)) { /* if it fails, use syscall */ - return (-1); - } - } - } -#else - if (syscall (SYS_gettimeofday, tp, tzp) < 0) { - return (-1); - } -#endif + if (__commpage_gettimeofday(tp)) { /* first try commpage */ + if (__gettimeofday(tp, tzp) < 0) { /* if it fails, use syscall */ + return (-1); + } + } + if (tzp) { if (validtz == 0) { struct tm *localtm = localtime ((time_t *)&tp->tv_sec);