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:
+1
-3
@@ -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
@@ -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. */
|
||||
|
||||
Reference in New Issue
Block a user