+#include <dragonport/asprintf.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
return addr;
}
-void dragonnet_addr_str(char dst[7+INET6_ADDRSTRLEN], DragonnetAddr addr)
+char *dragonnet_addr_str(DragonnetAddr addr)
{
- memset(dst, 0, 7+INET6_ADDRSTRLEN);
- sprintf(dst, "[%s]:%s", addr.ip, addr.port);
+ char *ptr;
+ asprintf(&ptr, "[%s]:%s", addr.ip, addr.port);
+ return ptr;
}
DragonnetAddr dragonnet_addr_parse_sock(struct sockaddr_in6 ai_addr)
} DragonnetAddr;
DragonnetAddr dragonnet_addr_parse_str(char *addr);
-void dragonnet_addr_str(char dst[7+INET6_ADDRSTRLEN], DragonnetAddr addr);
+char *dragonnet_addr_str(DragonnetAddr addr);
DragonnetAddr dragonnet_addr_parse_sock(struct sockaddr_in6 ai_addr);
struct sockaddr_in6 dragonnet_addr_sock(DragonnetAddr addr);