diff options
Diffstat (limited to 'src/libstddjb/socket_send6.c')
-rw-r--r-- | src/libstddjb/socket_send6.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libstddjb/socket_send6.c b/src/libstddjb/socket_send6.c index 6349cdb..82a0357 100644 --- a/src/libstddjb/socket_send6.c +++ b/src/libstddjb/socket_send6.c @@ -1,24 +1,25 @@ /* ISC license. */ #include <skalibs/nonposix.h> +#include <stdint.h> +#include <string.h> #include <errno.h> #include <sys/socket.h> #include <netinet/in.h> #include <skalibs/uint16.h> -#include <skalibs/bytestr.h> #include <skalibs/ip46.h> #include <skalibs/socket.h> #ifdef SKALIBS_IPV6_ENABLED -int socket_send6 (int s, char const *buf, unsigned int len, char const *ip6, uint16 port) +ssize_t socket_send6 (int s, char const *buf, size_t len, char const *ip6, uint16_t port) { struct sockaddr_in6 sa ; - register int r ; - byte_zero((char *)&sa, sizeof sa) ; + ssize_t r ; + memset(&sa, 0, sizeof sa) ; sa.sin6_family = AF_INET6 ; uint16_pack_big((char *)&sa.sin6_port, port) ; - byte_copy((char *)sa.sin6_addr.s6_addr, 16, ip6) ; + memcpy(sa.sin6_addr.s6_addr, ip6, 16) ; do r = sendto(s, buf, len, 0, (struct sockaddr *)&sa, sizeof sa) ; while ((r == -1) && (errno == EINTR)) ; return r ; @@ -26,7 +27,7 @@ int socket_send6 (int s, char const *buf, unsigned int len, char const *ip6, uin #else -int socket_send6 (int s, char const *buf, unsigned int len, char const *ip6, uint16 port) +ssize_t socket_send6 (int s, char const *buf, size_t len, char const *ip6, uint16_t port) { (void)s ; (void)buf ; |