diff options
Diffstat (limited to 'sysutils/fusefs-libs/files/patch-example_fusexmp_fh.c')
| -rw-r--r-- | sysutils/fusefs-libs/files/patch-example_fusexmp_fh.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/sysutils/fusefs-libs/files/patch-example_fusexmp_fh.c b/sysutils/fusefs-libs/files/patch-example_fusexmp_fh.c new file mode 100644 index 000000000000..19408c3ced87 --- /dev/null +++ b/sysutils/fusefs-libs/files/patch-example_fusexmp_fh.c @@ -0,0 +1,62 @@ +--- example/fusexmp_fh.c.orig Tue Sep 13 21:26:12 2005 ++++ example/fusexmp_fh.c Sun Oct 9 22:05:09 2005 +@@ -17,7 +17,12 @@ + #include <fcntl.h> + #include <dirent.h> + #include <errno.h> ++#ifdef __FreeBSD__ ++#include <sys/param.h> ++#include <sys/mount.h> ++#else + #include <sys/statfs.h> ++#endif + #ifdef HAVE_SETXATTR + #include <sys/xattr.h> + #endif +@@ -68,7 +73,11 @@ + memset(&st, 0, sizeof(st)); + st.st_ino = de->d_ino; + st.st_mode = de->d_type << 12; ++#ifdef __FreeBSD__ ++ if (filler(buf, de->d_name, &st, telldir(dp))) ++#else + if (filler(buf, de->d_name, &st, de->d_off)) ++#endif + break; + } + +@@ -87,7 +96,20 @@ + { + int res; + ++#ifndef __FreeBSD__ + res = mknod(path, mode, rdev); ++#else ++ if (rdev) ++ res = mknod(path, mode, rdev); ++ else if (mode & S_IFIFO) ++ res = mkfifo(path, mode); ++ else { ++ res = open(path, O_CREAT | O_TRUNC | O_WRONLY, mode); ++ if (res >= 0) ++ res = close(res); ++ } ++#endif ++ + if(res == -1) + return -errno; + +@@ -268,9 +290,13 @@ + int res; + (void) path; + ++#ifdef __FreeBSD__ ++ (void) isdatasync; ++#else + if (isdatasync) + res = fdatasync(fi->fh); + else ++#endif + res = fsync(fi->fh); + if(res == -1) + return -errno; |
