--- a/src/simple.c Sun Oct 12 21:59:52 2008 +0300
+++ b/src/simple.c Mon Oct 13 02:27:59 2008 +0300
@@ -157,13 +157,13 @@
EERROR(err = ENOTDIR, "bad mode");
// fill in the dirbuf
- if (dirbuf_init(&buf, size))
+ if (dirbuf_init(&buf, size, off))
ERROR("failed to init dirbuf");
// add . and ..
// we set the next offset to 2, because all dirent offsets will be larger than that
- err = dirbuf_add(req, off, &buf, 0, 1, ".", dir_node->inode, S_IFDIR )
- || dirbuf_add(req, off, &buf, 1, 2, "..", dir_node->inode, S_IFDIR );
+ err = dirbuf_add(req, &buf, 0, 1, ".", dir_node->inode, S_IFDIR )
+ || dirbuf_add(req, &buf, 1, 2, "..", dir_node->inode, S_IFDIR );
if (err != 0)
EERROR(err, "failed to add . and .. dirents");
@@ -175,7 +175,7 @@
continue;
// child node offsets are just inode + 2
- if ((err = dirbuf_add(req, off, &buf, node->inode + 2, node->inode + 3, node->name, node->inode, node->mode_type)) < 0)
+ if ((err = dirbuf_add(req, &buf, node->inode + 2, node->inode + 3, node->name, node->inode, node->mode_type)) < 0)
EERROR(err, "failed to add dirent for inode=%lu", node->inode);
// stop if it's full