xref: /plan9-contrib/sys/src/ape/lib/ap/plan9/utime.c (revision d3c05884522721166d85a4d78bb2a932ad0e3f06)
1 #include "lib.h"
2 #include <sys/types.h>
3 #include <time.h>
4 #include <utime.h>
5 #include <errno.h>
6 #include <stdlib.h>
7 #include "sys9.h"
8 #include "dir.h"
9 
10 int
utime(const char * path,const struct utimbuf * times)11 utime(const char *path, const struct utimbuf *times)
12 {
13 	int n;
14 	Dir nd;
15 	time_t curt;
16 
17 	_nulldir(&nd);
18 	if(times == 0) {
19 		curt = time(0);
20 		nd.atime = curt;
21 		nd.mtime = curt;
22 	} else {
23 		nd.atime = times->actime;
24 		nd.mtime = times->modtime;
25 	}
26 	n = _dirwstat(path, &nd);
27 	if(n < 0)
28 		_syserrno();
29 	return n;
30 }
31