]> git.lizzy.rs Git - dragonnet.git/commitdiff
dragonnet_addr_str: Use asprintf
authorElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 4 Oct 2021 08:36:58 +0000 (10:36 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 4 Oct 2021 08:36:58 +0000 (10:36 +0200)
addr.c
addr.h

diff --git a/addr.c b/addr.c
index a257a5dd8e1c26acf7db7038feb0a363650761f7..e997257d8474851b450a132bcd0af327006dda9c 100644 (file)
--- a/addr.c
+++ b/addr.c
@@ -1,3 +1,4 @@
+#include <dragonport/asprintf.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -43,10 +44,11 @@ DragonnetAddr dragonnet_addr_parse_str(char *str)
        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)
diff --git a/addr.h b/addr.h
index 11fd2818158243e4518a3139ab15576f667d64a3..7e8d732d70a08f5437294699b8410b2e5b4891ba 100644 (file)
--- a/addr.h
+++ b/addr.h
@@ -9,7 +9,7 @@ typedef struct {
 } 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);