On Jan 11, 2008 10:23 PM, Larry Doolittle <[EMAIL PROTECTED]> wrote:
> --- /home/larry/cvs/pcb/src/polygon1.c 2008-01-11 09:46:24.000000000 -0800
> +++ pcb/src/polygon1.c 2008-01-11 10:18:07.000000000 -0800
> @@ -1947,9 +1947,10 @@
> return;
> for (cur = (*c)->head.prev; cur != &(*c)->head; free (cur->next))
> cur = cur->prev;
> - /* FIXME -- strict aliasing violation. */
> - if ((*c)->tree)
> - r_destroy_tree ((rtree_t **) & ((*c)->tree));
> + if ((*c)->tree) {
> + rtree_t *r = (*c)->tree;
> + r_destroy_tree (&r);
> + }
> free (*c), *c = NULL;
>
> }
r_destroy_tree() will now set r to NULL, instead of (*c)->tree.
Luckily it's moot due to the following free(*c).
_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev