]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.c
Don't add duplicates to the list of recently seen addresses.
[meshlink] / src / meshlink.c
index b0cb8a9307abf9d2a6700f2ef3931c5f63206773..69ab8f244ef1e715e171b2b13fd8ff521fb27dab 100644 (file)
@@ -3120,11 +3120,11 @@ void meshlink_hint_address(meshlink_handle_t *mesh, meshlink_node_t *node, const
        pthread_mutex_lock(&mesh->mutex);
 
        node_t *n = (node_t *)node;
-       memmove(n->recent + 1, n->recent, (MAX_RECENT - 1) * sizeof(*n->recent));
-       memcpy(n->recent, addr, SALEN(*addr));
 
-       if(!node_write_config(mesh, n)) {
-               logger(mesh, MESHLINK_DEBUG, "Could not update %s\n", n->name);
+       if(node_add_recent_address(mesh, n, (sockaddr_t *)addr)) {
+               if(!node_write_config(mesh, n)) {
+                       logger(mesh, MESHLINK_DEBUG, "Could not update %s\n", n->name);
+               }
        }
 
        pthread_mutex_unlock(&mesh->mutex);