diff options
Diffstat (limited to 'isisd/isis_events.c')
-rw-r--r-- | isisd/isis_events.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/isisd/isis_events.c b/isisd/isis_events.c index 66d694f6..d54036a5 100644 --- a/isisd/isis_events.c +++ b/isisd/isis_events.c @@ -88,7 +88,7 @@ isis_event_circuit_state_change (struct isis_circuit *circuit, int up) void isis_event_system_type_change (struct isis_area *area, int newtype) { - struct listnode *node; + struct listnode *node, *nnode; struct isis_circuit *circuit; if (isis->debugs & DEBUG_EVENTS) @@ -125,11 +125,8 @@ isis_event_system_type_change (struct isis_area *area, int newtype) } area->is_type = newtype; - for (node = listhead (area->circuit_list); node; nextnode (node)) - { - circuit = getdata (node); - isis_event_circuit_type_change (circuit, newtype); - } + for (ALL_LIST_ELEMENTS (area->circuit_list, node, nnode, circuit)) + isis_event_circuit_type_change (circuit, newtype); spftree_area_init (area); lsp_regenerate_schedule (area); |