diff options
Diffstat (limited to 'ospfd/ospf_spf.c')
-rw-r--r-- | ospfd/ospf_spf.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ospfd/ospf_spf.c b/ospfd/ospf_spf.c index 82f0fedd..2c5064e5 100644 --- a/ospfd/ospf_spf.c +++ b/ospfd/ospf_spf.c @@ -200,11 +200,21 @@ ospf_vertex_free (void *data) * vertices */ //assert (listcount (v->parents) == 0); +<<<<<<< HEAD:ospfd/ospf_spf.c +======= if (v->children) list_delete (v->children); v->children = NULL; +>>>>>>> 41dc3488cf127a1e23333459a0c316ded67f7ff3:ospfd/ospf_spf.c +<<<<<<< HEAD:ospfd/ospf_spf.c + if (v->children) + list_delete (v->children); + v->children = NULL; + +======= +>>>>>>> 41dc3488cf127a1e23333459a0c316ded67f7ff3:ospfd/ospf_spf.c if (v->parents) list_delete (v->parents); v->parents = NULL; @@ -432,7 +442,20 @@ ospf_spf_add_parent (struct vertex *v, struct vertex *w, /* we must have a newhop, and a distance */ assert (v && w && newhop); assert (distance); +<<<<<<< HEAD:ospfd/ospf_spf.c +======= + + /* IFF w has already been assigned a distance, then we shouldn't get here + * unless callers have determined V(l)->W is shortest / equal-shortest + * path (0 is a special case distance (no distance yet assigned)). + */ + if (w->distance) + assert (distance <= w->distance); + else + w->distance = distance; +>>>>>>> 41dc3488cf127a1e23333459a0c316ded67f7ff3:ospfd/ospf_spf.c +<<<<<<< HEAD:ospfd/ospf_spf.c /* IFF w has already been assigned a distance, then we shouldn't get here * unless callers have determined V(l)->W is shortest / equal-shortest * path (0 is a special case distance (no distance yet assigned)). @@ -442,6 +465,8 @@ ospf_spf_add_parent (struct vertex *v, struct vertex *w, else w->distance = distance; +======= +>>>>>>> 41dc3488cf127a1e23333459a0c316ded67f7ff3:ospfd/ospf_spf.c if (IS_DEBUG_OSPF_EVENT) { char buf[2][INET_ADDRSTRLEN]; |