* bug fix by Hannes Gredler <hannes@gredler.at> fixing not deleted tc entry
authorBernd Petrovitsch <bernd@firmix.at>
Fri, 2 Nov 2007 09:38:56 +0000 (09:38 +0000)
committerBernd Petrovitsch <bernd@firmix.at>
Fri, 2 Nov 2007 09:38:56 +0000 (09:38 +0000)
CHANGELOG
src/tc_set.c
src/tc_set.h

index f37d066..3927966 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,8 +1,10 @@
 This file states changes as of version 0.2.4:
-$Id: CHANGELOG,v 1.101 2007/10/20 11:55:23 bernd67 Exp $
+$Id: CHANGELOG,v 1.102 2007/11/02 09:38:56 bernd67 Exp $
 
 0.5.5 ---------------------------------------------------------------------
 
+BUGFIX by Hannes Gredler <hannes@gredler.at> fixing not deleted tc entry.
+
 0.5.4 ---------------------------------------------------------------------
 
 QUAGGA by Immo 'FaUl' Wehrenberg <immo.olsr@do.bundessicherheitsministerium.de>
index 9105b86..e6efa45 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: tc_set.c,v 1.32 2007/10/17 07:30:34 bernd67 Exp $
+ * $Id: tc_set.c,v 1.33 2007/11/02 09:38:55 bernd67 Exp $
  */
 
 #include "tc_set.h"
@@ -90,11 +90,12 @@ olsr_change_myself_tc(void)
     }
 
     /*
-     * Flush all edges. This causes our own tc_entry to vanish.
+     * Flush all edges and our own tc_entry.
      */
     OLSR_FOR_ALL_TC_EDGE_ENTRIES(tc_myself, tc_edge) {
       olsr_delete_tc_edge_entry(tc_edge);
     } OLSR_FOR_ALL_TC_EDGE_ENTRIES_END(tc_myself, tc_edge);
+    olsr_delete_tc_entry(tc_myself);
   }
 
   /*
@@ -110,7 +111,7 @@ olsr_change_myself_tc(void)
  * @param entry the TC entry to delete
  *
  */
-static void
+void
 olsr_delete_tc_entry(struct tc_entry *tc)
 {
 
index 3f0261e..f1c56d1 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: tc_set.h,v 1.18 2007/10/16 09:54:44 bernd67 Exp $
+ * $Id: tc_set.h,v 1.19 2007/11/02 09:38:55 bernd67 Exp $
  */
 
 #ifndef _OLSR_TOP_SET
@@ -134,6 +134,7 @@ struct tc_edge_entry *olsr_lookup_tc_edge(struct tc_entry *,
 struct tc_edge_entry *olsr_add_tc_edge_entry(struct tc_entry *,
                                              union olsr_ip_addr *, olsr_u16_t,
                                              unsigned int, float, float);
+void olsr_delete_tc_entry(struct tc_entry *);
 void olsr_delete_tc_edge_entry(struct tc_edge_entry *);
 void olsr_calc_tc_edge_entry_etx(struct tc_edge_entry *);