summaryrefslogtreecommitdiff
path: root/isisd/isis_events.c
diff options
context:
space:
mode:
Diffstat (limited to 'isisd/isis_events.c')
-rw-r--r--isisd/isis_events.c9
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);