]> granicus.if.org Git - musl/commitdiff
linux deprecated SYS_utime on some archs, so use SYS_utimes instead
authorRich Felker <dalias@aerifal.cx>
Thu, 24 May 2012 14:55:58 +0000 (10:55 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 24 May 2012 14:55:58 +0000 (10:55 -0400)
the old code could be kept for cases where SYS_utime is available, but
it's not really worth the ifdef ugliness. and better to avoid
deprecated stuff just in case the kernel devs ever get crazy enough to
start removing it from archs where it was part of the ABI and breaking
static bins...

src/time/utime.c

index 856315b4ab6dd66ccc3e5acab33882b805cd490c..b2b5741b32099a63b2b02ecb275377b6f9e32f23 100644 (file)
@@ -1,7 +1,14 @@
 #include <utime.h>
+#include <sys/time.h>
 #include "syscall.h"
 
 int utime(const char *path, const struct utimbuf *times)
 {
-       return syscall(SYS_utime, path, times);
+       if (times) {
+               struct timeval tv[2] = {
+                       { .tv_sec = times->actime },
+                       { .tv_sec = times->modtime } };
+               return syscall(SYS_utimes, path, tv);
+       }
+       return syscall(SYS_utimes, path, 0);
 }