FIX: hanging topology edges if neighbor is lost
[olsrd.git] / src / tc_set.c
index 8e8036f..d6dbc1f 100644 (file)
@@ -584,6 +584,8 @@ olsr_delete_revoked_tc_edges(struct tc_entry *tc, uint16_t ansn, union olsr_ip_a
   }
   OLSR_FOR_ALL_TC_EDGE_ENTRIES_END(tc, tc_edge);
 
   }
   OLSR_FOR_ALL_TC_EDGE_ENTRIES_END(tc, tc_edge);
 
+  if (retval)
+    changes_topology = true;
   return retval;
 }
 
   return retval;
 }
 
@@ -727,7 +729,7 @@ olsr_calculate_tc_border(uint8_t lower_border, union olsr_ip_addr *lower_border_
     return 0;
   }
   if (lower_border == 0xff) {
     return 0;
   }
   if (lower_border == 0xff) {
-    memset(&lower_border_ip, 0, sizeof(lower_border_ip));
+    memset(lower_border_ip, 0, sizeof(lower_border_ip));
   } else {
     int i;
 
   } else {
     int i;
 
@@ -740,7 +742,7 @@ olsr_calculate_tc_border(uint8_t lower_border, union olsr_ip_addr *lower_border_
   }
 
   if (upper_border == 0xff) {
   }
 
   if (upper_border == 0xff) {
-    memset(&upper_border_ip, 0xff, sizeof(upper_border_ip));
+    memset(upper_border_ip, 0xff, sizeof(upper_border_ip));
   } else {
     int i;
 
   } else {
     int i;