Blob
1 #include <u.h>2 #define NOPLAN9DEFINES3 #include <libc.h>4 #include <sys/time.h>5 #include <utime.h>6 #include <sys/stat.h>8 int9 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 }