32 lines
504 B
C
32 lines
504 B
C
#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;
|
|
}
|