mirror of git://sourceware.org/git/glibc.git
Make second argument of gettimeofday as 'void *'
Also make the public prototype of gettimeofday declare its second argument with type "void *" unconditionally, consistent with POSIX. It is also consistent with POSIX. Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64le-linux-gnu, powerpc64-linux-gnu, powerpc-linux-gnu, and aarch64-linux-gnu. Co-authored-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Reviewed-by: Lukasz Majewski <lukma@denx.de>
This commit is contained in:
parent
5e46749c64
commit
2f2c76e1c8
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
# ifndef _ISOMAC
|
# ifndef _ISOMAC
|
||||||
extern int __gettimeofday (struct timeval *__tv,
|
extern int __gettimeofday (struct timeval *__tv,
|
||||||
struct timezone *__tz);
|
void *__tz);
|
||||||
extern int __settimezone (const struct timezone *__tz)
|
extern int __settimezone (const struct timezone *__tz)
|
||||||
attribute_hidden;
|
attribute_hidden;
|
||||||
extern int __adjtime (const struct timeval *__delta,
|
extern int __adjtime (const struct timeval *__delta,
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
/* Used as a fallback in the ifunc resolver if VDSO is not available
|
/* Used as a fallback in the ifunc resolver if VDSO is not available
|
||||||
and for libc.so internal __gettimeofday calls. */
|
and for libc.so internal __gettimeofday calls. */
|
||||||
static int
|
static int
|
||||||
__gettimeofday_vsyscall (struct timeval *tv, struct timezone *tz)
|
__gettimeofday_vsyscall (struct timeval *restrict tv, void *restrict tz)
|
||||||
{
|
{
|
||||||
if (__glibc_unlikely (tz != 0))
|
if (__glibc_unlikely (tz != 0))
|
||||||
memset (tz, 0, sizeof *tz);
|
memset (tz, 0, sizeof *tz);
|
||||||
|
@ -50,7 +50,7 @@ libc_ifunc (__gettimeofday,
|
||||||
|
|
||||||
#else
|
#else
|
||||||
int
|
int
|
||||||
__gettimeofday (struct timeval *tv, struct timezone *tz)
|
__gettimeofday (struct timeval *restrict tv, void *restrict tz)
|
||||||
{
|
{
|
||||||
return __gettimeofday_vsyscall (tv, tz);
|
return __gettimeofday_vsyscall (tv, tz);
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include <sysdep-vdso.h>
|
#include <sysdep-vdso.h>
|
||||||
|
|
||||||
static int
|
static int
|
||||||
__gettimeofday_syscall (struct timeval *tv, struct timezone *tz)
|
__gettimeofday_syscall (struct timeval *restrict tv, void *restrict tz)
|
||||||
{
|
{
|
||||||
if (__glibc_unlikely (tz != 0))
|
if (__glibc_unlikely (tz != 0))
|
||||||
memset (tz, 0, sizeof *tz);
|
memset (tz, 0, sizeof *tz);
|
||||||
|
@ -46,7 +46,7 @@ libc_ifunc (__gettimeofday,
|
||||||
: (void *) __gettimeofday_syscall);
|
: (void *) __gettimeofday_syscall);
|
||||||
#else
|
#else
|
||||||
int
|
int
|
||||||
__gettimeofday (struct timeval *tv, struct timezone *tz)
|
__gettimeofday (struct timeval *restrict tv, void *restrict tz)
|
||||||
{
|
{
|
||||||
return __gettimeofday_syscall (tv, tz);
|
return __gettimeofday_syscall (tv, tz);
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include <sysdep-vdso.h>
|
#include <sysdep-vdso.h>
|
||||||
|
|
||||||
static int
|
static int
|
||||||
__gettimeofday_syscall (struct timeval *tv, struct timezone *tz)
|
__gettimeofday_syscall (struct timeval *restrict tv, void *restrict tz)
|
||||||
{
|
{
|
||||||
if (__glibc_unlikely (tz != 0))
|
if (__glibc_unlikely (tz != 0))
|
||||||
memset (tz, 0, sizeof *tz);
|
memset (tz, 0, sizeof *tz);
|
||||||
|
@ -45,7 +45,7 @@ libc_ifunc (__gettimeofday,
|
||||||
|
|
||||||
#else
|
#else
|
||||||
int
|
int
|
||||||
__gettimeofday (struct timeval *tv, struct timezone *tz)
|
__gettimeofday (struct timeval *restrict tv, void *restrict tz)
|
||||||
{
|
{
|
||||||
return __gettimeofday_syscall (tv, tz);
|
return __gettimeofday_syscall (tv, tz);
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,10 +23,10 @@
|
||||||
If *TZ is not NULL, clear it.
|
If *TZ is not NULL, clear it.
|
||||||
Returns 0 on success, -1 on errors. */
|
Returns 0 on success, -1 on errors. */
|
||||||
int
|
int
|
||||||
___gettimeofday (struct timeval *tv, struct timezone *tz)
|
___gettimeofday (struct timeval *restrict tv, void *restrict tz)
|
||||||
{
|
{
|
||||||
if (__glibc_unlikely (tz != 0))
|
if (__glibc_unlikely (tz != 0))
|
||||||
memset (tz, 0, sizeof *tz);
|
memset (tz, 0, sizeof (struct timezone));
|
||||||
|
|
||||||
struct timespec ts;
|
struct timespec ts;
|
||||||
if (__clock_gettime (CLOCK_REALTIME, &ts))
|
if (__clock_gettime (CLOCK_REALTIME, &ts))
|
||||||
|
|
|
@ -54,23 +54,24 @@ struct timezone
|
||||||
int tz_minuteswest; /* Minutes west of GMT. */
|
int tz_minuteswest; /* Minutes west of GMT. */
|
||||||
int tz_dsttime; /* Nonzero if DST is ever in effect. */
|
int tz_dsttime; /* Nonzero if DST is ever in effect. */
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct timezone *__restrict __timezone_ptr_t;
|
|
||||||
#else
|
|
||||||
typedef void *__restrict __timezone_ptr_t;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Get the current time of day and timezone information,
|
/* Get the current time of day, putting it into *TV.
|
||||||
putting it into *TV and *TZ. If TZ is NULL, *TZ is not filled.
|
If TZ is not null, *TZ must be a struct timezone, and both fields
|
||||||
Returns 0 on success, -1 on errors.
|
will be set to zero.
|
||||||
NOTE: This form of timezone information is obsolete.
|
Calling this function with a non-null TZ is obsolete;
|
||||||
Use the functions and variables declared in <time.h> instead. */
|
use localtime etc. instead.
|
||||||
|
This function itself is semi-obsolete;
|
||||||
|
most callers should use time or clock_gettime instead. */
|
||||||
extern int gettimeofday (struct timeval *__restrict __tv,
|
extern int gettimeofday (struct timeval *__restrict __tv,
|
||||||
__timezone_ptr_t __tz) __THROW __nonnull ((1));
|
void *__restrict __tz) __THROW __nonnull ((1));
|
||||||
|
|
||||||
#ifdef __USE_MISC
|
#ifdef __USE_MISC
|
||||||
/* Set the current time of day and timezone information.
|
/* Set the current time of day and timezone information.
|
||||||
This call is restricted to the super-user. */
|
This call is restricted to the super-user.
|
||||||
|
Setting the timezone in this way is obsolete, but we don't yet
|
||||||
|
warn about it because it still has some uses for which there is
|
||||||
|
no alternative. */
|
||||||
extern int settimeofday (const struct timeval *__tv,
|
extern int settimeofday (const struct timeval *__tv,
|
||||||
const struct timezone *__tz)
|
const struct timezone *__tz)
|
||||||
__THROW;
|
__THROW;
|
||||||
|
|
Loading…
Reference in New Issue