[MPlayer-cvslog] r32906 - trunk/gui/skin/font.c
Ingo Brückl
ib at wupperonline.de
Wed Feb 16 18:56:52 CET 2011
Clément Boesch wrote on Wed, 16 Feb 2011 17:55:07 +0100:
> Mmmh, I didn't look well to the gfree prototype: it should be:
> gfree(void *p);
> with a cast into void ** in this function.
No, I disagree.
> It will avoid a lot of cast all over the code.
Yes, that's true, but it "lies" about the parameter and gives the compiler no
chance to warn me if I call gfree(p) instead of gfree(&p)! (And naming it
gfreep() won't help much as long as nobody can use the "p" in the function
name for checks. I, of course, could/should but tend to forget and make
mistakes and that's were the compiler assists with its warnings.)
Thinking about avoiding the cast, maybe a macro like
#define nfree(p) { free(p); p = NULL; }
would be a suitable replacement for gfree()?
Ingo
More information about the MPlayer-cvslog
mailing list