1#define _GNU_SOURCE 2#include <sys/time.h> 3#include <sys/stat.h> 4#include <errno.h> 5#include "syscall.h" 6#include "libc.h" 7 8int __futimesat(int dirfd, const char *pathname, const struct timeval times[2]) 9{ 10 struct timespec ts[2]; 11 if (times) { 12 int i; 13 for (i=0; i<2; i++) { 14 if (times[i].tv_usec >= 1000000ULL) 15 return __syscall_ret(-EINVAL); 16 ts[i].tv_sec = times[i].tv_sec; 17 ts[i].tv_nsec = times[i].tv_usec * 1000; 18 } 19 } 20 return utimensat(dirfd, pathname, times ? ts : 0, 0); 21} 22 23weak_alias(__futimesat, futimesat); 24