From 57d7f5da5506216427886df6ca0e9f2b8b1a25a2 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Tue, 18 Mar 2014 12:01:45 +0100 Subject: [PATCH] compile fix for fuse_lo-plus --- configure.ac | 2 +- example/fuse_lo-plus.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 8c1d3a8..14d64b6 100644 --- a/configure.ac +++ b/configure.ac @@ -54,7 +54,7 @@ if test "$enable_mtab" = "no"; then fi AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat pipe2]) -AC_CHECK_FUNCS([posix_fallocate fstatat]) +AC_CHECK_FUNCS([posix_fallocate fstatat openat readlinkat]) AC_CHECK_MEMBERS([struct stat.st_atim]) AC_CHECK_MEMBERS([struct stat.st_atimespec]) diff --git a/example/fuse_lo-plus.c b/example/fuse_lo-plus.c index fcc1eee..adbbbee 100644 --- a/example/fuse_lo-plus.c +++ b/example/fuse_lo-plus.c @@ -29,6 +29,48 @@ #include #include +/* Compat stuff. Doesn't make it work, just makes it compile. */ +#ifndef HAVE_FSTATAT +#warning fstatat(2) needed by this program +int fstatat(int dirfd, const char *pathname, struct stat *buf, int flags) +{ + errno = ENOSYS; + return -1; +} +#endif +#ifndef HAVE_OPENAT +#warning openat(2) needed by this program +int openat(int dirfd, const char *pathname, int flags, ...) +{ + errno = ENOSYS; + return -1; +} +#endif +#ifndef HAVE_READLINKAT +#warning readlinkat(2) needed by this program +ssize_t readlinkat(int dirfd, const char *pathname, char *buf, size_t bufsiz) +{ + errno = ENOSYS; + return -1; +} +#endif +#ifndef AT_EMPTY_PATH +#warning AT_EMPTY_PATH needed by this program +#define AT_EMPTY_PATH 0 +#endif +#ifndef AT_SYMLINK_NOFOLLOW +#warning AT_SYMLINK_NOFOLLOW needed by this program +#define AT_SYMLINK_NOFOLLOW 0 +#endif +#ifndef O_PATH +#warning O_PATH needed by this program +#define O_PATH 0 +#endif +#ifndef O_NOFOLLOW +#warning O_NOFOLLOW needed by this program +#define O_NOFOLLOW 0 +#endif + struct lo_inode { struct lo_inode *next; struct lo_inode *prev; -- 2.30.2