From: ellson Date: Tue, 18 Jul 2006 18:07:44 +0000 (+0000) Subject: janitor - recode to avoid: "dereferencing type-punned pointer will break strict-alias... X-Git-Tag: LAST_LIBGRAPH~32^2~6063 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b32ab84769cdad7ea0ff4b8f259050662741fa67;p=graphviz janitor - recode to avoid: "dereferencing type-punned pointer will break strict-aliasing rules" --- diff --git a/lib/agraph/edge.c b/lib/agraph/edge.c index 427d2b526..8b1573f62 100644 --- a/lib/agraph/edge.c +++ b/lib/agraph/edge.c @@ -151,14 +151,17 @@ void agedgesetop(Agraph_t * g, Agedge_t * e, int ins) { Dtlink_t **seq_set, **id_set; Agnode_t *n; /* node where is referenced */ + Agedge_t **tmp; if (AGTYPE(e) == AGOUTEDGE) { n = AGOUT2IN(e)->node; - seq_set = (Dtlink_t **) & (n->out); + tmp = &(n->out); /* avoiding - "dereferencing type-punned pointer will break strict-aliasing rules" */ + seq_set = (Dtlink_t **)tmp; id_set = &(n->outid); } else { n = AGIN2OUT(e)->node; - seq_set = (Dtlink_t **) & (n->in); + tmp = &(n->in); + seq_set = (Dtlink_t **)tmp; id_set = &(n->inid); } diff --git a/lib/agraph/flatten.c b/lib/agraph/flatten.c index 209330f11..e8ddbe904 100644 --- a/lib/agraph/flatten.c +++ b/lib/agraph/flatten.c @@ -26,8 +26,13 @@ void agflatten_elist(Dict_t * d, Dtlink_t ** lptr) void agflatten_edges(Agraph_t * g, Agnode_t * n) { - agflatten_elist(g->e_seq, (Dtlink_t **) & (n->out)); - agflatten_elist(g->e_seq, (Dtlink_t **) & (n->in)); + Agedge_t **tmp; + + tmp = &(n->out); /* avoiding - "dereferencing type-punned pointer will break strict-aliasing rules" */ + + agflatten_elist(g->e_seq, (Dtlink_t **) tmp); + tmp = &(n->in); + agflatten_elist(g->e_seq, (Dtlink_t **) tmp); } void agflatten(Agraph_t * g, int flag)