summaryrefslogtreecommitdiff
path: root/toxcore/DHT.c
diff options
context:
space:
mode:
Diffstat (limited to 'toxcore/DHT.c')
-rw-r--r--toxcore/DHT.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/toxcore/DHT.c b/toxcore/DHT.c
index 1eebb0c7..8208052d 100644
--- a/toxcore/DHT.c
+++ b/toxcore/DHT.c
@@ -2803,6 +2803,11 @@ uint32_t dht_size(const DHT *dht)
2803 uint32_t numv4 = 0; 2803 uint32_t numv4 = 0;
2804 uint32_t numv6 = 0; 2804 uint32_t numv6 = 0;
2805 2805
2806 for (uint32_t i = 0; i < dht->loaded_num_nodes; ++i) {
2807 numv4 += net_family_is_ipv4(dht->loaded_nodes_list[i].ip_port.ip.family);
2808 numv6 += net_family_is_ipv6(dht->loaded_nodes_list[i].ip_port.ip.family);
2809 }
2810
2806 for (uint32_t i = 0; i < LCLIENT_LIST; ++i) { 2811 for (uint32_t i = 0; i < LCLIENT_LIST; ++i) {
2807 numv4 += (dht->close_clientlist[i].assoc4.timestamp != 0); 2812 numv4 += (dht->close_clientlist[i].assoc4.timestamp != 0);
2808 numv6 += (dht->close_clientlist[i].assoc6.timestamp != 0); 2813 numv6 += (dht->close_clientlist[i].assoc6.timestamp != 0);
@@ -2838,6 +2843,11 @@ void dht_save(const DHT *dht, uint8_t *data)
2838 2843
2839 uint32_t num = 0; 2844 uint32_t num = 0;
2840 2845
2846 if (dht->loaded_num_nodes > 0) {
2847 memcpy(clients, dht->loaded_nodes_list, sizeof(Node_format) * dht->loaded_num_nodes);
2848 num += dht->loaded_num_nodes;
2849 }
2850
2841 for (uint32_t i = 0; i < LCLIENT_LIST; ++i) { 2851 for (uint32_t i = 0; i < LCLIENT_LIST; ++i) {
2842 if (dht->close_clientlist[i].assoc4.timestamp != 0) { 2852 if (dht->close_clientlist[i].assoc4.timestamp != 0) {
2843 memcpy(clients[num].public_key, dht->close_clientlist[i].public_key, CRYPTO_PUBLIC_KEY_SIZE); 2853 memcpy(clients[num].public_key, dht->close_clientlist[i].public_key, CRYPTO_PUBLIC_KEY_SIZE);