On 10/08/2017 18:36, Markus Armbruster wrote:
>>> +    while (!QSIMPLEQ_EMPTY(&oo_queue)) {
>>> +        ObjectOptionsQueueEntry *e = QSIMPLEQ_FIRST(&oo_queue);
>>> +
>>> +        QSIMPLEQ_REMOVE_HEAD(&oo_queue, entry);
>>> +        qapi_free_ObjectOptions(e->oo);
>>> +        g_free(e);
>>> +    }
>> Why not free the queue entry in object_create, and assert here that it's
>> empty?
> 
> Assumes object_create_delayed(TYPE) == !object_create_initial(TYPE),
> which is the case.  Fewer assumptions is good.  Less code is also good.
> Pick your goodness, please :)

I think the assumption is not that object_create_delayed(TYPE) ==
!object_create_initial(TYPE), but rather that all -object options are
dealt with (and they shouldn't be dealt more than once).  It's a
reasonable assumption, methinks. :)

Paolo

Reply via email to