--- /dev/null
+diff -up fuse-2.7.2/lib/fuse.c.BAD fuse-2.7.2/lib/fuse.c
+--- a/lib/fuse.c 2008-01-21 09:55:42.000000000 -0500
++++ b/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
+--- a/lib/fuse_lowlevel.c 2008-01-21 09:57:52.000000000 -0500
++++ b/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);
+ }
--- /dev/null
+--- a/util/udev.rules 2005-11-03 19:38:05.000000000 +0100
++++ b/util/udev.rules 2005-11-03 19:38:13.000000000 +0100
+@@ -1 +1 @@
+-KERNEL=="fuse", MODE="0666"
++KERNEL=="fuse", NAME="%k", MODE="0666",OWNER="root",GROUP="root"