Re: [PATCH] hash: Remove useless init_hash()
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jul 27, 2010, 10:36 UTC
- Message-ID
- <AANLkTimrKzDOlJzGpzaHWF24lwfr67bmh8RrKj6uMYWB@mail.gmail.com>
- In-Reply-To
- <m3fwz5kykn.fsf@localhost.localdomain>
On Tue, Jul 27, 2010 at 10:30, Jakub Narebski <jnareb@gmail.com> wrote:
CC-ing Linus since he wrote it (per Documentation/SubmittingPatches).
Show 13 quoted lines
> Stephen Boyd <bebarino@gmail.com> writes: > >> init_hash() is essentially a memset() so just use that. >> >> Signed-off-by: Stephen Boyd <bebarino@gmail.com> > [...] > > Encapsulation is good. > > [..] > > This is IMHO slightly less readable, and doesn't protect against > changes in implementation.
Agreed.
Show 19 quoted lines
>> for (i = 0; i < rename_src_nr; i++)
>> insert_file_table(&file_table, -1, i, rename_src[i].one);
>>
>> diff --git a/hash.h b/hash.h
>> index 69e33a4..418be24 100644
>> --- a/hash.h
>> +++ b/hash.h
>> @@ -33,11 +33,4 @@ extern void **insert_hash(unsigned int hash, void *ptr, struct hash_table *table
>> extern int for_each_hash(const struct hash_table *table, int (*fn)(void *));
>> extern void free_hash(struct hash_table *table);
>>
>> -static inline void init_hash(struct hash_table *table)
>> -{
>> - table->size = 0;
>> - table->nr = 0;
>> - table->array = NULL;
>> -}
>
> *This* could be replaced by memset.No it couldn't? The second argument to memset is just an int, so setting the memory area to 0 isn't portable to systems where the representation of NULL isn't "0".
(It's early so I may be misremembering my C..)