On Mon, Dec 29, 2008 at 2:11 PM, The Rasterman Carsten Haitzler <ras...@rasterman.com> wrote: > On Mon, 29 Dec 2008 16:52:43 +0100 "Cedric BAIL" <cedric.b...@free.fr> > babbled: > >> On Mon, Dec 29, 2008 at 2:53 PM, Gustavo Sverzut Barbieri >> <barbi...@profusion.mobi> wrote: >> > On Mon, Dec 29, 2008 at 11:38 AM, Cedric BAIL <cedric.b...@free.fr> wrote: >> >> On Mon, Dec 29, 2008 at 2:02 PM, Gustavo Sverzut Barbieri >> >> <barbi...@profusion.mobi> wrote: >> >>> On Mon, Dec 29, 2008 at 10:41 AM, Enlightenment SVN >> >>> <no-re...@enlightenment.org> wrote: >> >>>> Log: >> >>>> Don't generate warning in some little case. >> >>> >> >>> I strongly disagree with this patch. Eina Hash is not like Evas Hash, >> >>> by hiding this "warnings in some little case" we're hiding bugs. It's >> >>> better to fix those bugs and not hide these warnings. >> >> >> >>> We add these safety checks to avoid our libraries crashing badly on >> >>> users, not because API should really support these NULL pointers, >> >>> they're invalid values. It's like strlen(NULL), it does not make >> >>> sense. >> >> >> >> That's the typical case I want to avoid adding extra if around place >> >> where returning 0 would have make sense. I didn't remove all check >> >> only on find and population, typically used by cache system. >> > >> > it's not a useless if, it's a error handling if, you must do it. >> > >> > and this error checking should be done after eina_hash_new() and like, >> > not before these other calls, unless you can work without the hash, in >> > tha case you must do this special case anyway. >> > >> > if people start to use few eina_hash_new() as it is supposed to be >> > instead of delete it when it's empty and create it before each add, >> > then this will be one if at the constructor and that's all. >> >> It's not always possible to do so. For example eet doesn't initialize >> part of a structure if it doesn't find any element for it and I don't >> see an easy way to fix that. > > well.. it does initialise it to NULL... or 0... guaranteed. :)
and it does so because evas_hash was designed like that. You can either provide a wrapper around eina_hash that will simulate ALL (not just add/del) the required operations, or change eet to take a init function. I rather go with the first option. -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel