diff options
Diffstat (limited to 'src/libstddjb/socket_remote6.c')
-rw-r--r-- | src/libstddjb/socket_remote6.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libstddjb/socket_remote6.c b/src/libstddjb/socket_remote6.c index 4c642e1..6b282ef 100644 --- a/src/libstddjb/socket_remote6.c +++ b/src/libstddjb/socket_remote6.c @@ -4,28 +4,28 @@ #include <errno.h> #include <sys/socket.h> #include <netinet/in.h> +#include <stdint.h> +#include <string.h> #include <skalibs/uint16.h> -#include <skalibs/bytestr.h> #include <skalibs/ip46.h> #include <skalibs/socket.h> #ifdef SKALIBS_IPV6_ENABLED -int socket_remote6 (int s, char *ip, uint16 *port) +int socket_remote6 (int s, char *ip, uint16_t *port) { struct sockaddr_in6 sa ; socklen_t dummy = sizeof sa ; - if (getpeername(s, (struct sockaddr *)&sa, &dummy) == -1) return -1 ; - byte_copy(ip, 16, (char const *)sa.sin6_addr.s6_addr) ; + memcpy(ip, sa.sin6_addr.s6_addr, 16) ; uint16_unpack_big((char *)&sa.sin6_port, port) ; return 0 ; } #else -int socket_remote6 (int s, char *ip, uint16 *port) +int socket_remote6 (int s, char *ip, uint16_t *port) { (void)s ; (void)ip ; |