[PATCH v2] Staging: tidspbridge: Use hashtable implementation

Ivaylo Dimitrov ivo.g.dimitrov.75 at gmail.com
Sun Jan 5 23:14:59 UTC 2014


On 05.01.2014 21:47, Dan Carpenter wrote:
> Looks much nicer.  I had a few tiny comments, but those could be
> addressed in later patches.  (There is a lot of work to be done on this
> driver).
>
> On Sun, Jan 05, 2014 at 08:58:12PM +0200, Ivaylo Dimitrov wrote:
>> -static u16 name_hash(void *key, u16 max_bucket)
>> +static u32 name_hash(const void *key)
>>   {
>> -	u16 ret;
>> -	u16 hash;
>> -	char *name = (char *)key;
>> +	u32 hash;
>> +	const char *name = (const char *)key;
>                             ^^^^^^^^^^^^^^
>
> I can't compile this driver, but I'm pretty sure this cast is not
> needed.
>
>> -static bool name_match(void *key, void *sp)
>> +static bool name_match(const void *key, const void *sp)
>>   {
>>   	if ((key != NULL) && (sp != NULL)) {
>> -		if (strcmp((char *)key, ((struct dbll_symbol *)sp)->name) ==
>> -		    0)
>> +		if (strcmp((const char *)key,
>> +			   ((const struct dbll_symbol *)sp)->name) == 0)
>>   			return true;
> Unneeded casting.
>
> 		if (strcmp(key, ((struct dbll_symbol *)sp)->name) == 0)
> 			return true;
>
> regards,
> dan carpenter
Yeah, both are not needed (I am thinking C++ most of the time and have 
forgotten that C is much relaxed than C++ :) ). However, I will send a 
new version which fixes that, IMO it is better to fix it while I am on it.

Thanks,
Ivo


More information about the devel mailing list