Hi Peter, > Use of zero as the size for arrays as the last element of a structure > is a GNU C extension, which as of GCC 10 produces diagnostics when > values in the extended array are referenced. Switch to the C99 > standard idiom for flexible array members, already in use in a few > other headers. > > Signed-off-by: Peter A. Bigot <pab@xxxxxxxxxxx> > --- > > No changes from previous submission except the BlueZ subject prefix > that I hope will get this into bluez. > > lib/hci.h | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/lib/hci.h b/lib/hci.h > index 3382b87bf..a61568bce 100644 > --- a/lib/hci.h > +++ b/lib/hci.h > @@ -729,7 +729,7 @@ typedef struct { > typedef struct { > uint8_t flt_type; > uint8_t cond_type; > - uint8_t condition[0]; > + uint8_t condition[]; > } __attribute__ ((packed)) set_event_flt_cp; > #define SET_EVENT_FLT_CP_SIZE 2 does this break any API assumptions? Since as long as libbluetooth exists these headers are API. Regards Marcel