From: Markos Chandras <markos.chand...@imgtec.com> Signed-off-by: Markos Chandras <markos.chand...@imgtec.com> --- libc/sysdeps/linux/common/utimes.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/libc/sysdeps/linux/common/utimes.c b/libc/sysdeps/linux/common/utimes.c index 99d9202..3074e4e 100644 --- a/libc/sysdeps/linux/common/utimes.c +++ b/libc/sysdeps/linux/common/utimes.c @@ -8,11 +8,30 @@ */ #include <sys/syscall.h> -#include <utime.h> #include <sys/time.h> +#include <fcntl.h> +#include <utime.h> +#include <stddef.h> + +#if defined(__NR_utimensat) && !defined(__NR_utimes) +int utimes(const char *file, const struct timeval tvp[2]) +{ + struct timespec ts[2], *times; + if (tvp) { + times = ts; + times[0].tv_sec = tvp[0].tv_sec; + times[0].tv_nsec = tvp[0].tv_usec * 1000; + times[1].tv_sec = tvp[1].tv_sec; + times[1].tv_nsec = tvp[1].tv_usec * 1000; + } else { + times = NULL; + } + + return utimensat(AT_FDCWD, file, times, 0); +} -#ifdef __NR_utimes +#elif defined(__NR_utimes) _syscall2(int, utimes, const char *, file, const struct timeval *, tvp) #else #include <stdlib.h> -- 1.8.0 _______________________________________________ uClibc mailing list uClibc@uclibc.org http://lists.busybox.net/mailman/listinfo/uclibc