aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/_p9dir.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2003-11-23 19:49:17 +0000
committerrsc <devnull@localhost>2003-11-23 19:49:17 +0000
commit1c253ceb586c4519f42ce115954c4efab787f81a (patch)
tree22281aafc4c33f4ab310a845aec510f013511833 /src/lib9/_p9dir.c
parent50e628cb8f4594b7cbccc17ff3f701ff260a69c0 (diff)
downloadplan9port-1c253ceb586c4519f42ce115954c4efab787f81a.tar.gz
plan9port-1c253ceb586c4519f42ce115954c4efab787f81a.tar.bz2
plan9port-1c253ceb586c4519f42ce115954c4efab787f81a.zip
Annoying changes to work on Sun boxes.
Diffstat (limited to 'src/lib9/_p9dir.c')
-rw-r--r--src/lib9/_p9dir.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lib9/_p9dir.c b/src/lib9/_p9dir.c
index 459bd157..0903c57d 100644
--- a/src/lib9/_p9dir.c
+++ b/src/lib9/_p9dir.c
@@ -1,13 +1,15 @@
-#include <u.h>
-#define NOPLAN9DEFINES
-#include <libc.h>
-
#include <sys/stat.h>
+#ifdef _HAVEDISKLABEL
#include <sys/disklabel.h>
+#endif
#include <dirent.h>
#include <pwd.h>
#include <grp.h>
+#include <u.h>
+#define NOPLAN9DEFINES
+#include <libc.h>
+
int
_p9dir(struct stat *st, char *name, Dir *d, char **str, char *estr)
{
@@ -83,7 +85,9 @@ _p9dir(struct stat *st, char *name, Dir *d, char **str, char *estr)
d->muid = "";
d->qid.path = ((uvlong)st->st_dev<<32) | st->st_ino;
+#ifdef _HAVESTGEN
d->qid.vers = st->st_gen;
+#endif
d->mode = st->st_mode&0777;
d->atime = st->st_atime;
d->mtime = st->st_mtime;
@@ -96,6 +100,7 @@ _p9dir(struct stat *st, char *name, Dir *d, char **str, char *estr)
}
/* fetch real size for disks */
+#ifdef _HAVEDISKLABEL
if(S_ISCHR(st->st_mode)){
int fd, n;
struct disklabel lab;
@@ -114,6 +119,7 @@ _p9dir(struct stat *st, char *name, Dir *d, char **str, char *estr)
if(fd >= 0)
close(fd);
}
+#endif
}
return sz;