Commit Briefs

Omar Polo

more to do




Omar Polo

improve documentation


Omar Polo

implement bye/quit




Omar Polo

fix tremove wrt directories

we can't call unlinkat with `.' as path, so the hackish solution (but also the only viable one I can see) is to unlinkat ../<dirname>. Furthermore, calling unlinkat(f->dir->fd, f->fpath) was incorrect because f->dir->fd already points to the directory.


Omar Polo

s/HAVE_READLINE/HAVE_LIBREADLINE/


Omar Polo

dis-entagle qids from the directory file descriptor

I've been using the qid both as the 9p protocol element *and* as a wrapper with refcounting around a directory file descriptor. I can do better, let's split the qid struct into a "proper" qid and dir. Dir is now the wrapper with refcounting around the directory file descriptor and qid is just the 9p struct. fids are still associated with a dir, but now they store the directory name if they point to the directory. The previous pattern to detect if a fid is pointing to a dir thus changed: instead of assuming that fpath is "", look at the qid struct.



Omar Polo

add test "can't walk from a file"


Omar Polo

free line after use


Omar Polo

fix comments regarding fd and iomode

iomode can be set to "garbage" and fd still be -1. To check if a fid was opened one _has_ to check the fd value.