Eric Blake <ebl...@redhat.com> writes: > Instead of taking a list parameter and returning a new head at a > distance, just return the new item for the caller to insert into a > list via QAPI_LIST_PREPEND. > > Signed-off-by: Eric Blake <ebl...@redhat.com> > --- > migration/migration.c | 22 +++++++++------------- > 1 file changed, 9 insertions(+), 13 deletions(-) > > diff --git a/migration/migration.c b/migration/migration.c > index 3263aa55a9da..e8c414a7b8f0 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -1667,27 +1667,23 @@ void migrate_set_state(int *state, int old_state, int > new_state) > } > } > > -static MigrationCapabilityStatusList *migrate_cap_add( > - MigrationCapabilityStatusList *list, > - MigrationCapability index, > - bool state) > +static MigrationCapabilityStatus *migrate_cap_add(MigrationCapability index, > + bool state) > { > - MigrationCapabilityStatusList *cap; > + MigrationCapabilityStatus *cap; > > - cap = g_new0(MigrationCapabilityStatusList, 1); > - cap->value = g_new0(MigrationCapabilityStatus, 1); > - cap->value->capability = index; > - cap->value->state = state; > - cap->next = list; > + cap = g_new0(MigrationCapabilityStatus, 1); > + cap->capability = index; > + cap->state = state; > > return cap; > } > > void migrate_set_block_enabled(bool value, Error **errp) > { > - MigrationCapabilityStatusList *cap; > + MigrationCapabilityStatusList *cap = NULL; > > - cap = migrate_cap_add(NULL, MIGRATION_CAPABILITY_BLOCK, value); > + QAPI_LIST_PREPEND(cap, migrate_cap_add(MIGRATION_CAPABILITY_BLOCK, > value));
Line is too long for my taste. Please consider MigrationCapabilityStatusList *caps = NULL; MigrationCapabilityStatus *cap; cap = migrate_cap_add(MIGRATION_CAPABILITY_BLOCK, value); QAPI_LIST_PREPEND(caps, cap); qmp_migrate_set_capabilities(caps, errp); qapi_free_MigrationCapabilityStatusList(caps); > qmp_migrate_set_capabilities(cap, errp); > qapi_free_MigrationCapabilityStatusList(cap); > } > @@ -3874,7 +3870,7 @@ static bool migration_object_check(MigrationState *ms, > Error **errp) > > for (i = 0; i < MIGRATION_CAPABILITY__MAX; i++) { > if (ms->enabled_capabilities[i]) { > - head = migrate_cap_add(head, i, true); > + QAPI_LIST_PREPEND(head, migrate_cap_add(i, true)); > } > } ret = migrate_caps_check(cap_list, head, errp); /* It works with head == NULL */ Unrelated: this comment is not worth its keep. qapi_free_MigrationCapabilityStatusList(head); return ret; Reviewed-by: Markus Armbruster <arm...@redhat.com>