- 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);
+ return utimensat(AT_FDCWD, path, times ? ((struct timespec [2]){
+ { .tv_sec = times->actime }, { .tv_sec = times->modtime }})
+ : 0, 0);