Hi Frederic,
* Frederic Danis <frederic.danis(a)linux.intel.com> [2011-01-27 16:35:49 +0100]:
Le 27/01/2011 16:24, Marcel Holtmann a écrit :
> Hi Fred,
>
>>>> plugins/bluetooth.c | 86
+++++++++++++++++++++++++++++++++++++++++++-------
>>>> 1 files changed, 74 insertions(+), 12 deletions(-)
>>>>
>>>> diff --git a/plugins/bluetooth.c b/plugins/bluetooth.c
>>>> index e59bd31..4da662a 100644
>>>> --- a/plugins/bluetooth.c
>>>> +++ b/plugins/bluetooth.c
>>>> @@ -39,9 +39,14 @@
>>>>
>>>> static DBusConnection *connection;
>>>> static GHashTable *uuid_hash = NULL;
>>>> -static GHashTable *adapter_address_hash = NULL;
>>>> +static GSList *adapter_list = NULL;
>>>> static gint bluetooth_refcount;
>>>>
>>>> +struct adapter_address {
>>>> + char *adapter;
>>>> + char *address;
>>>> +};
>>>> +
>>>
>>> why are we doing this exactly with a list now instead of a hash table. I
>>> don't see the point here.
>>>
>>
>> In patch 4, I need to find the adapter path (for the incoming
>> connection) from its address to call the authorization method.
>>
>> So, this is why I change to GSList.
>
> you can as easily walk a GHashTable than you can walk a GSList. So why
> not do that instead of moving everything to a list.
I think that find a key from its value may use more cpu from HashTable
than from GSList. If you want I can remove this and only use HashTable.
Please remove it and use the hashtable.
--
Gustavo F. Padovan
http://profusion.mobi