From 42e9341c12c630ebe3a550a4ce813aac4b1b047c Mon Sep 17 00:00:00 2001 From: Aaron Krebs Date: Mon, 11 Aug 2014 10:56:58 +0200 Subject: [PATCH] Finished sockaddr_t to sockaddr_storage copy on meshlink_edge_t. --- src/meshlink.c | 5 +++-- src/meshlink.h | 21 +++++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/meshlink.c b/src/meshlink.c index 6396163d..90118793 100644 --- a/src/meshlink.c +++ b/src/meshlink.c @@ -1868,8 +1868,9 @@ meshlink_edge_t **meshlink_get_all_edges_state(meshlink_handle_t *mesh, size_t * copy = xzalloc(sizeof *copy); copy->from = (meshlink_node_t*)e->from; copy->to = (meshlink_node_t*)e->to; - //TODO fix conversion from sockaddr_t to sockaddr_storage - //copy->address = e->address.ss; +#ifdef HAVE_STRUCT_SOCKADDR_STORAGE + copy->address = e->address.storage; +#endif copy->options = e->options; copy->weight = e->weight; *p++ = copy; diff --git a/src/meshlink.h b/src/meshlink.h index 8bc8c706..404a8fde 100644 --- a/src/meshlink.h +++ b/src/meshlink.h @@ -100,13 +100,22 @@ struct meshlink_channel { #endif // MESHLINK_INTERNAL_H -// TODO documentation +/// An edge in the meshlink network. struct meshlink_edge { - struct meshlink_node *from; - struct meshlink_node *to; - struct sockaddr_storage address; - uint32_t options; - int weight; + struct meshlink_node *from; ///< Pointer to a node. Node memory is + // owned by meshlink and should not be + // deallocated. Node contents may be + // changed by meshlink. + struct meshlink_node *to; ///< Pointer to a node. Node memory is + // owned by meshlink and should not be + // deallocated. Node contents may be + // changed by meshlink. +#ifdef HAVE_STRUCT_SOCKADDR_STORAGE + struct sockaddr_storage address;///< The address information associated +#endif + // with this edge. + uint32_t options; ///< Edge options. @TODO what are edge options? + int weight; ///< Weight assigned to this edge. }; /// Get the text for the given MeshLink error code. -- 2.39.2