>>>>> Richard Braun <rbr...@sceen.net> writes:
>>>>> On Fri, Dec 27, 2013 at 04:28:33PM +0100, Marin Ramesa wrote:

[…]

 >> +static futex_hash_table_t table = NULL; 
 >> +static unsigned int max_hash_val = 0;

 > I strongly recommend using the module namespace for everything
 > global, including static variables and functions.  Otherwise ...

 >> +int futex_init(futex_t futex, int *address)
 >> +{
 >> +   if (table == NULL) {

 > ... you may wonder where things such as table here are from.

        This is actually a simple question in C.  It may be different in
        other languages, even if considered “close” to C, but here,
        ‘table’ suggests a static global variable almost invariably.

        That being said, “namespacing” such identifiers wouldn’t hurt.

[…]

 >> + if ((table->futex_elements =
 >> (futex_t)kalloc((max_hash_val+1)*sizeof(futex_t))) == NULL) {

 > Another bad practice warning, don't put statements with side effects
 > in conditional expressions.

        I tend to disagree on this one, on more or less the same grounds
        I’m recommending the use of some_variable += another_variable
        instead of some_variable = some_variable + another_variable.
        Arguably, the use of the result of an assignment in a test makes
        the intent /clearer,/ and saves one of a silly mistake of
        assigning to one variable, and then using some another (say, one
        with a similar name) in the test just a line or so below.

[…]

-- 
FSF associate member #7257

Reply via email to