From f7012583e9a7594cbb5ebe8e974bb69061189262 Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 25 Nov 2003 01:40:27 +0000 Subject: Add the #goo to allow use in C++. Silence a few more warnings. Strip down the mkfiles more. Fix bug in X11 mouse handling, note groups. --- src/lib9/dirfwstat.c | 23 ++++++++++++++--------- src/lib9/dirread.c | 17 ++++------------- 2 files changed, 18 insertions(+), 22 deletions(-) (limited to 'src/lib9') diff --git a/src/lib9/dirfwstat.c b/src/lib9/dirfwstat.c index 9f0d485c..c7cf64d6 100644 --- a/src/lib9/dirfwstat.c +++ b/src/lib9/dirfwstat.c @@ -22,16 +22,21 @@ futimes(int fd, struct timeval *tv) int dirfwstat(int fd, Dir *dir) { + int ret; struct timeval tv[2]; - /* BUG handle more */ - if(dir->mtime == ~0ULL) - return 0; - - tv[0].tv_sec = dir->mtime; - tv[0].tv_usec = 0; - tv[1].tv_sec = dir->mtime; - tv[1].tv_usec = 0; - return futimes(fd, tv); + if(~dir->mode != 0){ + if(fchmod(fd, dir->mode) < 0) + ret = -1; + } + if(~dir->mtime != 0){ + tv[0].tv_sec = dir->mtime; + tv[0].tv_usec = 0; + tv[1].tv_sec = dir->mtime; + tv[1].tv_usec = 0; + if(futimes(fd, tv) < 0) + ret = -1; + } + return ret; } diff --git a/src/lib9/dirread.c b/src/lib9/dirread.c index 2e1ce886..ab9ec7f5 100644 --- a/src/lib9/dirread.c +++ b/src/lib9/dirread.c @@ -1,31 +1,22 @@ #include +#define NOPLAN9DEFINES #include - -#undef asctime -#undef ctime -#undef gmtime -#undef localtime - #include #include extern int _p9dir(struct stat*, char*, Dir*, char**, char*); -/* everyone has getdirentries, just use that */ +/* almost everyone has getdirentries, just use that */ static int mygetdents(int fd, char *buf, int n) { ssize_t nn; -#if _GETDIRENTRIES_TAKES_LONG long off; -#else - off_t off; -#endif - off = seek(fd, 0, 1); + off = p9seek(fd, 0, 1); nn = getdirentries(fd, buf, n, &off); if(nn > 0) - seek(fd, off, 0); + p9seek(fd, off, 0); return nn; } -- cgit v1.2.3