#include <u.h> #define NOPLAN9DEFINES #include <libc.h> #include <sys/time.h> #include <utime.h> #include <sys/stat.h> int dirwstat(char *file, Dir *dir) { int ret; struct utimbuf ub; /* BUG handle more */ ret = 0; if(~dir->mode != 0){ if(chmod(file, dir->mode) < 0) ret = -1; } if(~dir->mtime != 0){ ub.actime = dir->mtime; ub.modtime = dir->mtime; if(utime(file, &ub) < 0) ret = -1; } if(~dir->length != 0){ if(truncate(file, dir->length) < 0) ret = -1; } return ret; }