summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
authorHelmut Grohne <helmut@subdivi.de>2015-11-22 08:43:08 +0100
committerMartin Pitt <martin.pitt@ubuntu.com>2015-11-24 06:49:10 +0100
commitd6cd08464d06660b6f1e40d3c53bea0509b09c26 (patch)
tree3cc9328cbeafeddf15b745b5a7098dbe8fee9de6 /src/basic
parente35a7876b4ab1d53a7539a905613e31dc6ae50fd (diff)
basic: fix build on architectures with small long
The x32 architecture has a small "long" type which is not enough to hold struct statfs.f_type.
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/stat-util.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/basic/stat-util.h b/src/basic/stat-util.h
index 909b220a24..fb92464274 100644
--- a/src/basic/stat-util.h
+++ b/src/basic/stat-util.h
@@ -52,9 +52,8 @@ int path_is_os_tree(const char *path);
int files_same(const char *filea, const char *fileb);
/* The .f_type field of struct statfs is really weird defined on
- * different archs. Let's use our own type we know is sufficiently
- * larger to store the possible values. */
-typedef long statfs_f_type_t;
+ * different archs. Let's give its type a name. */
+typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t;
bool is_fs_type(const struct statfs *s, statfs_f_type_t magic_value) _pure_;
int fd_check_fstype(int fd, statfs_f_type_t magic_value);