Re: [PATCH] Fix REGISTRY cleanups

Pedro Alves
2013-10-28T11:36:26Z

On 10/28/2013 03:45 AM, Joel Brobecker wrote:
>> In registry.c:registry_clear_data, the registered data is iterated and
>> invoke each 'free' function with the data passed:
>>
>> for (registration = data_registry->registrations, i = 0;
>> i < fields->num_data;
>> registration = registration->next, i++)
>> if (fields->data[i] != NULL && registration->data->free != NULL)
>> adaptor (registration->data->free, container, fields->data[i]);
>>
>> we can see that data is passed to function 'free' and data is not NULL.
>> In each usage, we don't have to get the data again through key and
>> do NULL pointer checking.
>>
>> gdb:
>>
>> 2013-10-26 Yao Qi <yao@codesourcery.com>
>>
>> * auto-load.c (auto_load_pspace_data_cleanup): Get data from
>> parameter 'arg' instead of from program_space_data.
>> * objfiles.c (objfiles_pspace_data_cleanup): Likewise.
>> * solib-darwin.c (darwin_pspace_data_cleanup): Likewise.
>> * solib-dsbt.c (dsbt_pspace_data_cleanup): Likewise.
>> * solib-svr4.c (svr4_pspace_data_cleanup): Likewise.
>> * inflow.c (inflow_inferior_data_cleanup): Get data from
>> parameter 'arg' instead of inferior_data.
>
> Looks like a nice simplification (...)

+1. Agreed.

(Yao, FYI, "fix" in the subject line confused me a little,
as I found myself scratching my head a little trying to understand
what bug this actually fixes, only to realize it's a code
cleanup sort of fix. I'd suggest changing the subject/commit
to reflect that.)

Thanks,
--
Pedro Alves