aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.rst6
-rw-r--r--example/passthrough_ll.c12
2 files changed, 12 insertions, 6 deletions
diff --git a/ChangeLog.rst b/ChangeLog.rst
index 0e16efb..091adab 100644
--- a/ChangeLog.rst
+++ b/ChangeLog.rst
@@ -1,3 +1,9 @@
+Unreleased Changes
+==================
+
+* Fixed a compilation problem of the passthrough_ll example on
+ 32 bit systems (wrong check and wrong error message).
+
libfuse 3.1.0 (2017-07-08)
==========================
diff --git a/example/passthrough_ll.c b/example/passthrough_ll.c
index fc633f5..2d7d4b5 100644
--- a/example/passthrough_ll.c
+++ b/example/passthrough_ll.c
@@ -48,18 +48,18 @@
#include <err.h>
/* We are re-using pointers to our `struct lo_inode` and `struct
- lo_dirp` elements as inodes. This means that we require uintptr_t
- and fuse_ino_t to have the same size. The following incantation
- defines a compile time assert for this requirement. */
+ lo_dirp` elements as inodes. This means that we must be able to
+ store uintptr_t values in a fuse_ino_t variable. The following
+ incantation checks this condition at compile time. */
#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ >= 6) && !defined __cplusplus
-_Static_assert(sizeof(fuse_ino_t) == sizeof(uintptr_t), "fuse: off_t must be 64bit");
+_Static_assert(sizeof(fuse_ino_t) >= sizeof(uintptr_t),
+ "fuse_ino_t too small to hold uintptr_t values!");
#else
struct _uintptr_to_must_hold_fuse_ino_t_dummy_struct \
{ unsigned _uintptr_to_must_hold_fuse_ino_t:
- ((sizeof(fuse_ino_t) == sizeof(uintptr_t)) ? 1 : -1); };
+ ((sizeof(fuse_ino_t) >= sizeof(uintptr_t)) ? 1 : -1); };
#endif
-
/* Compat stuff. Doesn't make it work, just makes it compile. */
#ifndef HAVE_FSTATAT
#warning fstatat(2) needed by this program