Am Mi., 18. März 2026 um 00:23 Uhr schrieb Peter Xu <peterx@redhat.com>:
>
> Passing in a pointer almost never helps. Convert it to pass in struct for
> further refactoring on VMS_ARRAY_OF_POINTER.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@futurfusion.io>
> ---
> include/migration/vmstate.h | 6 +++---
> tests/unit/test-vmstate.c | 2 +-
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h
> index d4a39aa794..8992fba57d 100644
> --- a/include/migration/vmstate.h
> +++ b/include/migration/vmstate.h
> @@ -547,9 +547,9 @@ extern const VMStateInfo vmstate_info_qlist;
> .version_id = (_version), \
> .num = (_num), \
> .info = &(_info), \
> - .size = sizeof(_type), \
> + .size = sizeof(_type *), \
> .flags = VMS_ARRAY|VMS_ARRAY_OF_POINTER, \
> - .offset = vmstate_offset_array(_state, _field, _type, _num), \
> + .offset = vmstate_offset_array(_state, _field, _type*, _num), \
> }
>
> #define VMSTATE_ARRAY_OF_POINTER_TO_STRUCT(_f, _s, _n, _v, _vmsd, _type) { \
> @@ -1093,7 +1093,7 @@ extern const VMStateInfo vmstate_info_qlist;
> VMSTATE_TIMER_PTR_V(_f, _s, 0)
>
> #define VMSTATE_TIMER_PTR_ARRAY(_f, _s, _n) \
> - VMSTATE_ARRAY_OF_POINTER(_f, _s, _n, 0, vmstate_info_timer, QEMUTimer *)
> + VMSTATE_ARRAY_OF_POINTER(_f, _s, _n, 0, vmstate_info_timer, QEMUTimer)
>
> #define VMSTATE_TIMER_TEST(_f, _s, _test) \
> VMSTATE_SINGLE_TEST(_f, _s, _test, 0, vmstate_info_timer, QEMUTimer)
> diff --git a/tests/unit/test-vmstate.c b/tests/unit/test-vmstate.c
> index cadbab3c5e..6a42cc1a4e 100644
> --- a/tests/unit/test-vmstate.c
> +++ b/tests/unit/test-vmstate.c
> @@ -668,7 +668,7 @@ const VMStateDescription vmsd_arpp = {
> .minimum_version_id = 1,
> .fields = (const VMStateField[]) {
> VMSTATE_ARRAY_OF_POINTER(ar, TestArrayOfPtrToInt,
> - AR_SIZE, 0, vmstate_info_int32, int32_t*),
> + AR_SIZE, 0, vmstate_info_int32, int32_t),
> VMSTATE_END_OF_LIST()
> }
> };
> --
> 2.50.1
>