remove LFS64 symbol aliases; replace with dynamic linker remapping
[musl] / src / time / utime.c
index 56e9e13..e7592b2 100644 (file)
@@ -1,12 +1,11 @@
 #include <utime.h>
-#include "syscall.h"
+#include <sys/stat.h>
+#include <time.h>
+#include <fcntl.h>
 
 int utime(const char *path, const struct utimbuf *times)
 {
-       long ktimes[2];
-       if (times) {
-               ktimes[0] = times->actime;
-               ktimes[1] = times->modtime;
-       }
-       return syscall2(__NR_utime, (long)path, times ? (long)ktimes : 0);
+       return utimensat(AT_FDCWD, path, times ? ((struct timespec [2]){
+               { .tv_sec = times->actime }, { .tv_sec = times->modtime }})
+               : 0, 0);
 }