Web lists-archives.com

Re: g_error_free() warning on null pointer

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".

gtk-devel-list mailing list