Brown paperbag please. Fix previous commit.
diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index 35296fb..726593a 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,5 +1,10 @@
2004-09-26 Hasso Tepper <hasso at quagga.net>
+ * isis_circuit.c: Fix previous commit. Don't schedule LSP regeneration
+ and don't crash if circuit->area == NULL.
+
+2004-09-26 Hasso Tepper <hasso at quagga.net>
+
* *.[c|h]: Fix a lot of compiler warnings.
* isis_events.c: Remove isis_event_int_reach_change() function, as it
doesn't make sense for now. Call lsp_regenerate_schedule() directly
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 2dbdba3..3669cf4 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -241,7 +241,8 @@
ipv4->prefixlen = connected->address->prefixlen;
ipv4->prefix = connected->address->u.prefix4;
listnode_add (circuit->ip_addrs, ipv4);
- lsp_regenerate_schedule (circuit->area);
+ if (circuit->area)
+ lsp_regenerate_schedule (circuit->area);
#ifdef EXTREME_DEBUG
prefix2str (connected->address, buf, BUFSIZ);
@@ -260,8 +261,8 @@
listnode_add (circuit->ipv6_link, ipv6);
else
listnode_add (circuit->ipv6_non_link, ipv6);
-
- lsp_regenerate_schedule (circuit->area);
+ if (circuit->area)
+ lsp_regenerate_schedule (circuit->area);
#ifdef EXTREME_DEBUG
prefix2str (connected->address, buf, BUFSIZ);
@@ -302,7 +303,8 @@
if (ip)
{
listnode_delete (circuit->ip_addrs, ip);
- lsp_regenerate_schedule (circuit->area);
+ if (circuit->area)
+ lsp_regenerate_schedule (circuit->area);
}
else
{
@@ -354,7 +356,8 @@
circuit %d", buf, circuit->circuit_id);
}
else
- lsp_regenerate_schedule (circuit->area);
+ if (circuit->area)
+ lsp_regenerate_schedule (circuit->area);
}
#endif /* HAVE_IPV6 */
return;