]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
basic: fix build on architectures with small long 2013/head
authorHelmut Grohne <helmut@subdivi.de>
Sun, 22 Nov 2015 07:43:08 +0000 (08:43 +0100)
committerMartin Pitt <martin.pitt@ubuntu.com>
Tue, 24 Nov 2015 05:49:10 +0000 (06:49 +0100)
The x32 architecture has a small "long" type which is not enough to hold
struct statfs.f_type.

src/basic/stat-util.h

index 909b220a245c9a446e851100e25b7ad1af0f2def..fb9246427464c375938f7751ae9a07d8b4f24cf0 100644 (file)
@@ -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);