xref: /aosp_15_r20/external/musl/src/legacy/lutimes.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1*c9945492SAndroid Build Coastguard Worker #define _GNU_SOURCE
2*c9945492SAndroid Build Coastguard Worker #include <sys/stat.h>
3*c9945492SAndroid Build Coastguard Worker #include <sys/time.h>
4*c9945492SAndroid Build Coastguard Worker #include <fcntl.h>
5*c9945492SAndroid Build Coastguard Worker 
lutimes(const char * filename,const struct timeval tv[2])6*c9945492SAndroid Build Coastguard Worker int lutimes(const char *filename, const struct timeval tv[2])
7*c9945492SAndroid Build Coastguard Worker {
8*c9945492SAndroid Build Coastguard Worker 	struct timespec times[2];
9*c9945492SAndroid Build Coastguard Worker 	if (tv) {
10*c9945492SAndroid Build Coastguard Worker 		times[0].tv_sec  = tv[0].tv_sec;
11*c9945492SAndroid Build Coastguard Worker 		times[0].tv_nsec = tv[0].tv_usec * 1000;
12*c9945492SAndroid Build Coastguard Worker 		times[1].tv_sec  = tv[1].tv_sec;
13*c9945492SAndroid Build Coastguard Worker 		times[1].tv_nsec = tv[1].tv_usec * 1000;
14*c9945492SAndroid Build Coastguard Worker 	}
15*c9945492SAndroid Build Coastguard Worker 	return utimensat(AT_FDCWD, filename, tv ? times : 0, AT_SYMLINK_NOFOLLOW);
16*c9945492SAndroid Build Coastguard Worker }
17