diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/listener.c | 2 | ||||
| -rw-r--r-- | src/core/sockaddr.c | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/core/listener.c b/src/core/listener.c index c6c37abe..3ef142c2 100644 --- a/src/core/listener.c +++ b/src/core/listener.c @@ -393,7 +393,7 @@ nni_listener_start(nni_listener *l, int flags) return (NNG_ESTATE); } - if ((rv = l->l_ops.l_bind(l->l_data)) != 0) { + if ((rv = l->l_ops.l_bind(l->l_data, &l->l_url)) != 0) { nng_log_warn("NNG-BIND-FAIL", "Failed binding socket<%u>: %s", nni_sock_id(l->l_sock), nng_strerror(rv)); nni_listener_bump_error(l, rv); diff --git a/src/core/sockaddr.c b/src/core/sockaddr.c index 50fd4214..d55db156 100644 --- a/src/core/sockaddr.c +++ b/src/core/sockaddr.c @@ -163,3 +163,21 @@ nng_str_sockaddr(const nng_sockaddr *sa, char *buf, size_t bufsz) return ("unknown"); } } + +uint32_t +nng_sockaddr_port(const nng_sockaddr *sa) +{ + uint16_t port16; + switch (sa->s_family) { + case NNG_AF_INET: + NNI_GET16(&sa->s_in.sa_port, port16); + return (port16); + case NNG_AF_INET6: + NNI_GET16(&sa->s_in6.sa_port, port16); + return (port16); + case NNG_AF_ZT: + return (sa->s_zt.sa_port); + default: + return (0); + } +} |
