On Sat, Aug 15, 2015 at 01:52:02PM -0700, Jasper St. Pierre wrote:
> Lots of things in GLib fail when passed a NULL pointer, like g_object_unref.
> 
> The idea is that passing a NULL pointer is probably a sign of a bug
> somewhere, so you shouldn't do it.

No, accepting a NULL pointer for "free functions" is for convenience. At
the beginning of the block, you initialize your variables at NULL, and
at the end of the block (maybe after a goto label) you free the
variables that need to be freed. It's not a sign of a bug…

Consistency is important for a library. It's much simpler to remember
"all free/unref functions accept NULL" instead of "free/g_free accept
NULL, g_object_unref not, g_clear_object yes, etc etc".

--
Sébastien
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to