commit - 17ea8246621a62d02fe0fba9266d5e3d916cca1c
commit + bee0a9e34b2c6fe77faf0c10b8f29a9d6cac611b
blob - a8396245e632897fe7177081b9411928e1b6c680
blob + fe426ae46c73966411795d28423d47f5a8967587
--- kamid/client.c
+++ kamid/client.c
struct qid qid;
const char *uid, *gid, *muid;
size_t tot;
+ uint32_t mode;
uint16_t namlen, uidlen, gidlen, ulen;
qid_update_from_sb(&qid, sb);
fname);
return -1;
}
+
+ mode = sb->st_mode & 0xFFFF;
+ if (qid.type & QTDIR)
+ mode |= 0x80000000;
np_write16(evb, tot); /* size[2] */
np_write16(evb, sb->st_rdev); /* type[2] */
np_write32(evb, sb->st_dev); /* dev[4] */
np_qid(evb, &qid); /* qid[13] */
-
- /* XXX: translate? */
- np_write32(evb, sb->st_mode); /* mode[4] */
-
+ np_write32(evb, mode); /* mode[4] */
np_write32(evb, sb->st_atim.tv_sec); /* atime[4] */
np_write32(evb, sb->st_mtim.tv_sec); /* mtime[4] */