On 07/14/11 04:45, Pádraig Brady wrote: > The non standard "zero length array" syntax was copied from > the linux kernel headers. Changing this to a C99 flexible array > as you suggest, should be fine according to the constraints listed here:
Won't this break non-GCC compilers that don't support C99 flexible arrays? Instead, how about this patch? If I understand things correctly, it should fix the problem on NonStop, and should also work with pre-C99 non-GCC compilers. diff --git a/src/fiemap.h b/src/fiemap.h index 1938c74..e7243b4 100644 --- a/src/fiemap.h +++ b/src/fiemap.h @@ -51,8 +51,9 @@ struct fiemap uint32_t fm_reserved; - /* Array of mapped extents(out). */ - struct fiemap_extent fm_extents[0]; + /* Array of mapped extents(out). + The actual size is given by fm_extent_count. */ + struct fiemap_extent fm_extents[1]; }; /* The maximum offset can be mapped for a file. */
