aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGravatar Miklos Szeredi <miklos@szeredi.hu>2006-10-13 19:48:19 +0000
committerGravatar Miklos Szeredi <miklos@szeredi.hu>2006-10-13 19:48:19 +0000
commitbcfa416e38d180c5687219f05c23f343879752f7 (patch)
tree3a979a6be1b57626708da7ab84611c66fa4fe8c2 /lib
parentd6f8db71b84a139c1d74d6d0c654659951219c38 (diff)
fix hang, etc
Diffstat (limited to 'lib')
-rw-r--r--lib/fuse.c6
1 files changed, 3 insertions, 3 deletions
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 @@ static int hide_node(struct fuse *f, fuse_req_t req, const char *oldpath,
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 @@ static void fuse_rename(fuse_req_t req, fuse_ino_t olddir, const char *oldname,
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);
}