| #define _GNU_SOURCE | |
| #include <sys/time.h> | |
| #include <sys/stat.h> | |
| #include <errno.h> | |
| #include "syscall.h" | |
| #include "libc.h" | |
| int __futimesat(int dirfd, const char *pathname, const struct timeval times[2]) | |
| { | |
| struct timespec ts[2]; | |
| if (times) { | |
| int i; | |
| for (i=0; i<2; i++) { | |
| if (times[i].tv_usec >= 1000000ULL) | |
| return __syscall_ret(-EINVAL); | |
| ts[i].tv_sec = times[i].tv_sec; | |
| ts[i].tv_nsec = times[i].tv_usec * 1000; | |
| } | |
| } | |
| return utimensat(dirfd, pathname, times ? ts : 0, 0); | |
| } | |
| weak_alias(__futimesat, futimesat); |