fix hang, etc
diff --git a/lib/fuse.c b/lib/fuse.c
index 8fc1bac..6de98fa 100644
--- a/lib/fuse.c
+++ b/lib/fuse.c
@@ -701,8 +701,8 @@
if (f->op.rename && f->op.unlink) {
newpath = hidden_name(f, req, dir, oldname, newname, sizeof(newname));
if (newpath) {
- int res = fuse_do_rename(f, req, oldpath, newpath);
- if (res == 0)
+ err = fuse_do_rename(f, req, oldpath, newpath);
+ if (!err)
err = rename_node(f, dir, oldname, dir, newname, 1);
free(newpath);
}
@@ -1346,7 +1346,7 @@
is_open(f, newdir, newname))
err = hide_node(f, req, newpath, newdir, newname);
if (!err) {
- fuse_do_rename(f, req, oldpath, newpath);
+ err = fuse_do_rename(f, req, oldpath, newpath);
if (!err)
err = rename_node(f, olddir, oldname, newdir, newname, 0);
}