summaryrefslogtreecommitdiff
path: root/ospfd/ospf_apiserver.c
diff options
context:
space:
mode:
authorgdt <gdt>2004-12-09 16:30:04 +0000
committergdt <gdt>2004-12-09 16:30:04 +0000
commit3fb9de74bbd3de3a264c20b1b486f9853f908c79 (patch)
treeff02a6c1259d49646c2e12efe4975503926902e4 /ospfd/ospf_apiserver.c
parent09c3adb9e9f41d4698025e3a70cfa71e54e003e4 (diff)
* ospf_apiserver.c (ospf_apiserver_term): Obtain struct
ospf_apiserver * from listnode. Remove unused variables. Follows suggestion from Jay Fenlason.
Diffstat (limited to 'ospfd/ospf_apiserver.c')
-rw-r--r--ospfd/ospf_apiserver.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/ospfd/ospf_apiserver.c b/ospfd/ospf_apiserver.c
index 07b8f211..89af2a36 100644
--- a/ospfd/ospf_apiserver.c
+++ b/ospfd/ospf_apiserver.c
@@ -180,20 +180,17 @@ out:
void
ospf_apiserver_term (void)
{
- struct listnode *node;
struct ospf_apiserver *apiserv;
/* Unregister wildcard [0/0] type */
ospf_delete_opaque_functab (0 /* all LSAs */,
0 /* all opaque types */);
- /* Free all client instances */
- while ( (node = listhead (apiserver_list)) != NULL)
- /*
- * XXX: this is just plain odd/wrong. Is there a missing
- * apiserv = (struct ospf_apiserver *) node;
- * ?
- */
+ /*
+ * Free all client instances. ospf_apiserver_free removes the node
+ * from the list, so we examine the head of the list anew each time.
+ */
+ while ( (apiserv = getdata (listhead (apiserver_list))) != NULL)
ospf_apiserver_free (apiserv);
/* Free client list itself */