diff -up fuse-2.7.2/lib/fuse.c.BAD fuse-2.7.2/lib/fuse.c --- lib/fuse.c 2008-01-21 09:55:42.000000000 -0500 +++ lib/fuse.c 2008-01-21 09:57:20.000000000 -0500 @@ -633,17 +633,15 @@ static int fuse_compat_open(struct fuse_ { int err; if (!fs->compat || fs->compat >= 25) - err = fs->op.open(path, fi); + err = (fs->op.open)(path, fi); else if (fs->compat == 22) { struct fuse_file_info_compat tmp; memcpy(&tmp, fi, sizeof(tmp)); - err = ((struct fuse_operations_compat22 *) &fs->op)->open(path, - &tmp); + err = (((struct fuse_operations_compat22 *) &fs->op)->open)(path, &tmp); memcpy(fi, &tmp, sizeof(tmp)); fi->fh = tmp.fh; } else - err = ((struct fuse_operations_compat2 *) &fs->op) - ->open(path, fi->flags); + err = (((struct fuse_operations_compat2 *) &fs->op)->open)(path, fi->flags); return err; } diff -up fuse-2.7.2/lib/fuse_lowlevel.c.BAD fuse-2.7.2/lib/fuse_lowlevel.c --- lib/fuse_lowlevel.c 2008-01-21 09:57:52.000000000 -0500 +++ lib/fuse_lowlevel.c 2008-01-21 09:58:15.000000000 -0500 @@ -605,7 +605,7 @@ static void do_open(fuse_req_t req, fuse fi.flags = arg->flags; if (req->f->op.open) - req->f->op.open(req, nodeid, &fi); + (req->f->op.open)(req, nodeid, &fi); else fuse_reply_open(req, &fi); }