----- Original Message ----- > In DEFINE_PROP_ARRAY, because we use a PropertyInfo (qdev_prop_arraylen) > which has a .set_default_value member we will set the field to a default > value. That default value will be zero, by the C rule that struct > initialization sets unmentioned members to zero if at least one member > is initialized. However it's clearer to state it explicitly. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
Reviewed-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > If my eyeball of the sources is correct, this is the only case we > have of a Property struct that uses a PropertyInfo with a non-NULL > .set_default_value but which doesn't explicitly set .defval.u. > --- > include/hw/qdev-properties.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h > index 0604c33..36d040c 100644 > --- a/include/hw/qdev-properties.h > +++ b/include/hw/qdev-properties.h > @@ -110,6 +110,7 @@ extern PropertyInfo qdev_prop_arraylen; > _arrayfield, _arrayprop, _arraytype) { \ > .name = (PROP_ARRAY_LEN_PREFIX _name), \ > .info = &(qdev_prop_arraylen), \ > + .defval.u = 0, \ > .offset = offsetof(_state, _field) \ > + type_check(uint32_t, typeof_field(_state, _field)), \ > .arrayinfo = &(_arrayprop), \ > -- > 2.7.4 > >