From 0c334bb077dc986dd619f782b6c10c6f6ccdde20 Mon Sep 17 00:00:00 2001 From: thorkill Date: Tue, 7 Jul 2015 20:37:17 +0200 Subject: [PATCH] Do not insert edge into edge_weight_tree if not needed --- src/edge.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/edge.c b/src/edge.c index 3070e9eb..0bc83ad0 100644 --- a/src/edge.c +++ b/src/edge.c @@ -83,11 +83,6 @@ void free_edge(edge_t *e) { } void edge_add(edge_t *e) { - if (!splay_insert(edge_weight_tree, e)) - logger(DEBUG_ALWAYS, LOG_ERR, - "%s:%d: edge from: %s to: %s exists in edge_weight_tree", - __FUNCTION__, __LINE__, e->from->name, e->to->name); - if (splay_insert(e->from->edge_tree, e)) { e->reverse = lookup_edge(e->to, e->from); @@ -98,6 +93,14 @@ void edge_add(edge_t *e) { } e->reverse->reverse = e; } + if (!splay_insert(edge_weight_tree, e)) + logger(DEBUG_ALWAYS, LOG_ERR, + "%s:%d: edge from: %s to: %s exists in edge_weight_tree", + __FUNCTION__, __LINE__, e->from->name, e->to->name); + } else { + logger(DEBUG_ALWAYS, LOG_ERR, + "%s:%d: edge from: %s to: %s exists in from->edge_tree", + __FUNCTION__, __LINE__, e->from->name, e->to->name); } }