[libdvdnav-devel] [PATCH] Cleanup ifoFree()

Steve Dibb beandog at gentoo.org
Tue Jan 6 03:49:23 CET 2015

On Mon, 5 Jan 2015 19:31:49 -0700
Steve Dibb <beandog at gentoo.org> wrote:

> - Move all ifoFree_*() functions only called once directly into
>   ifoFree()
> - Proper checks for NULL pointers, freeing pointers

So, a brief explanation may be in order.  Looking through the
ifoClose(), it has all these functions that were only called once, and
made the process of closing out all the pointers unnecessarily complex
to read the code.

This patch mostly just rips out all those functions called only once
and puts them directly in ifoFree().  There are two that were
preserved, namely ifoFree_PGC() and ifoFree_VTS_TMAPT() because they
are used in a few places.

I also incorporated part of my earlier patches where I properly free
the pointers and set them to NULL, ignoring the ones of local scope per
jb's feedback.

It's a lot of changes, but I've gone through it pretty meticulously.
Best of all, it works, with no regressions, and fixes parsing some of
the broken ISOs that Thomas provides. :)


More information about the libdvdnav-devel mailing list