1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-05 08:10:15 +02:00

build: avoid a fiemap compile failure on some systems

* src/fiemap.h (struct fiemap): Adjust the previous change
to the fiemap_extents array, which would also require changes
to the sizeof calculations in extent_scan_read().
Instead, only declare the fiemap_extents zero length array
on linux, which is the only platform that references this member.
This avoids a compilation failure on systems that don't support
this non standard construct.  We don't use the equivalent C99
flexible array construct so as to have maximum portability.
* src/extent-scan.c: Cleanup. Remove a redundant #ifndef.
This commit is contained in:
Pádraig Brady
2011-07-15 09:51:35 +01:00
parent feb0b08c0d
commit 4f71710c42
2 changed files with 7 additions and 5 deletions
+1 -3
View File
@@ -24,11 +24,9 @@
#include "system.h"
#include "extent-scan.h"
#include "fiemap.h"
#include "xstrtol.h"
#ifndef HAVE_FIEMAP
# include "fiemap.h"
#endif
/* Work around Linux kernel issues on BTRFS and EXT4 before 2.6.39.
FIXME: remove in 2013, or whenever we're pretty confident
+6 -2
View File
@@ -52,8 +52,12 @@ struct fiemap
uint32_t fm_reserved;
/* Array of mapped extents(out).
The actual size is given by fm_extent_count. */
struct fiemap_extent fm_extents[1];
This is protected by the ifdef because it uses non standard
zero length arrays. Note C99 has the equivalent flexible arrays,
but we don't use those for maximum portability to older systems. */
# ifdef __linux__
struct fiemap_extent fm_extents[0];
# endif
};
/* The maximum offset can be mapped for a file. */