Amazing how something simple gets lots of comments and versions :-)

> ...
> + * This has to be a macro since HASH_BITS() will not work on pointers since
> + * it calculates the size during preprocessing.
> + */
> +#define hash_empty(hashtable)                                                
>         \
> +({                                                                           
> \
> +     int __i;                                                                
> \
> +     bool __ret = true;                                                      
> \
> +                                                                             
> \
> +     for (__i = 0; __i < HASH_SIZE(hashtable); __i++)                        
> \
> +             if (!hlist_empty(&hashtable[__i]))                              
> \
> +                     __ret = false;                                          
> \
> +                                                                             
> \
> +     __ret;                                                                  
> \
> +})

Actually you could have a #define that calls a function
passing in the address and size.
Also, should the loop have a 'break' in it?

        David



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to