Blob


1 #include <u.h>
2 #define NOPLAN9DEFINES
3 #include <libc.h>
4 #include <sys/time.h>
5 #include <utime.h>
6 #include <sys/stat.h>
8 int
9 dirwstat(char *file, Dir *dir)
10 {
11 int ret;
12 struct utimbuf ub;
14 /* BUG handle more */
15 ret = 0;
16 if(~dir->mode != 0){
17 if(chmod(file, dir->mode) < 0)
18 ret = -1;
19 }
20 if(~dir->mtime != 0){
21 ub.actime = dir->mtime;
22 ub.modtime = dir->mtime;
23 if(utime(file, &ub) < 0)
24 ret = -1;
25 }
26 if(~dir->length != 0){
27 if(truncate(file, dir->length) < 0)
28 ret = -1;
29 }
30 return ret;
31 }