[ospfd] CID #28, remove another ospf_lookup call - ospf_redistribute_withdraw

2006-05-12 Paul Jakma <paul.jakma@sun.com>

	* ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup
	  call by taking the struct ospf * as argument, which the
	  caller has, fixing CID #28.
	* ospf_asbr.h: (ospf_redistribute_withdraw) update declaration
	* ospf_zebra.c: (ospf_redistribute_unset) update call to
	  ospf_redistribute_withdraw to match.
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 8cb115c..72e363e 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -7,6 +7,12 @@
 	  (struct lsa_action) remove unused member.
 	* ospf_interface.c: (ospf_if_exists) Fix missing NULL return
 	  check on ospf_lookup, CID #27.
+	* ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup
+	  call by taking the struct ospf * as argument, which the
+	  caller has, fixing CID #28.
+	* ospf_asbr.h: (ospf_redistribute_withdraw) update declaration
+	* ospf_zebra.c: (ospf_redistribute_unset) update call to
+	  ospf_redistribute_withdraw to match.
 
 2006-05-11 Paul Jakma <paul.jakma@sun.com>
 
diff --git a/ospfd/ospf_asbr.c b/ospfd/ospf_asbr.c
index 426fac4..a482623 100644
--- a/ospfd/ospf_asbr.c
+++ b/ospfd/ospf_asbr.c
@@ -270,14 +270,11 @@
 }
 
 void
-ospf_redistribute_withdraw (u_char type)
+ospf_redistribute_withdraw (struct ospf *ospf, u_char type)
 {
-  struct ospf *ospf;
   struct route_node *rn;
   struct external_info *ei;
 
-  ospf = ospf_lookup ();
-
   /* Delete external info for specified type. */
   if (EXTERNAL_INFO (type))
     for (rn = route_top (EXTERNAL_INFO (type)); rn; rn = route_next (rn))
diff --git a/ospfd/ospf_asbr.h b/ospfd/ospf_asbr.h
index fdcfbd9..724acf4 100644
--- a/ospfd/ospf_asbr.h
+++ b/ospfd/ospf_asbr.h
@@ -70,7 +70,7 @@
                                                struct prefix_ipv4 *);
 extern void ospf_asbr_status_update (struct ospf *, u_char);
 
-extern void ospf_redistribute_withdraw (u_char);
+extern void ospf_redistribute_withdraw (struct ospf *, u_char);
 extern void ospf_asbr_check (void);
 extern void ospf_schedule_asbr_check (void);
 extern void ospf_asbr_route_install_lsa (struct ospf_lsa *);
diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c
index 11c4d99..5a722e0 100644
--- a/ospfd/ospf_zebra.c
+++ b/ospfd/ospf_zebra.c
@@ -565,7 +565,7 @@
   ospf->dmetric[type].value = -1;
 
   /* Remove the routes from OSPF table. */
-  ospf_redistribute_withdraw (type);
+  ospf_redistribute_withdraw (ospf, type);
 
   ospf_asbr_status_update (ospf, --ospf->redistribute);