From 0dae85e67ada6044ce895b3e64a3a223776eab5b Mon Sep 17 00:00:00 2001
From: hasso <hasso>
Date: Sun, 26 Sep 2004 19:53:47 +0000
Subject: Brown paperbag please. Fix previous commit.

---
 isisd/ChangeLog      |  5 +++++
 isisd/isis_circuit.c | 13 ++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index 35296fb4..726593ab 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,3 +1,8 @@
+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.
diff --git a/isisd/isis_circuit.c b/isisd/isis_circuit.c
index 2dbdba3e..3669cf43 100644
--- a/isisd/isis_circuit.c
+++ b/isisd/isis_circuit.c
@@ -241,7 +241,8 @@ isis_circuit_add_addr (struct isis_circuit *circuit,
       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 @@ isis_circuit_add_addr (struct isis_circuit *circuit,
 	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 @@ isis_circuit_del_addr (struct isis_circuit *circuit,
       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 @@ isis_circuit_del_addr (struct isis_circuit *circuit,
 		     circuit %d", buf, circuit->circuit_id);
 	}
       else
-	lsp_regenerate_schedule (circuit->area);
+	if (circuit->area)
+	  lsp_regenerate_schedule (circuit->area);
     }
 #endif /* HAVE_IPV6 */
   return;
-- 
cgit v1.2.1