X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Fmeshlink.c;h=69ab8f244ef1e715e171b2b13fd8ff521fb27dab;hp=b0cb8a9307abf9d2a6700f2ef3931c5f63206773;hb=703197ca7614963ba9b831967352b6c90379af48;hpb=d665704b718634614856db2e0455e1cb60048771 diff --git a/src/meshlink.c b/src/meshlink.c index b0cb8a93..69ab8f24 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -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);