about summary refs log tree commit diff
diff options
context:
space:
mode:
authorminus7 <m1nus@online.de>2011-04-28 14:54:25 -0700
committerminus7 <m1nus@online.de>2011-04-28 14:54:25 -0700
commitb60dc13fbb9c40f8baaa29d6a057a0ab1decbbcc (patch)
tree931c979252eb48ad030df0850f6edc73e4bf012f
parentfede33447ae04d79015afadc88db97ee220f0aee (diff)
parente50e103529cf76b056ced64b41e808009d67a64c (diff)
downloadzcatch-b60dc13fbb9c40f8baaa29d6a057a0ab1decbbcc.tar.gz
zcatch-b60dc13fbb9c40f8baaa29d6a057a0ab1decbbcc.zip
Merged pull request #670 from heinrich5991/fix_netaddrstrmissingport.
made net_addr_str give a string without port if it is = 0
-rw-r--r--src/base/system.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/base/system.c b/src/base/system.c
index 94481f21..9cc7f690 100644
--- a/src/base/system.c
+++ b/src/base/system.c
@@ -571,13 +571,23 @@ int net_addr_comp(const NETADDR *a, const NETADDR *b)
 void net_addr_str(const NETADDR *addr, char *string, int max_length)
 {
 	if(addr->type == NETTYPE_IPV4)
-		str_format(string, max_length, "%d.%d.%d.%d:%d", addr->ip[0], addr->ip[1], addr->ip[2], addr->ip[3], addr->port);
+	{
+		if(addr->port != 0)
+			str_format(string, max_length, "%d.%d.%d.%d:%d", addr->ip[0], addr->ip[1], addr->ip[2], addr->ip[3], addr->port);
+		else
+			str_format(string, max_length, "%d.%d.%d.%d", addr->ip[0], addr->ip[1], addr->ip[2], addr->ip[3]);
+	}
 	else if(addr->type == NETTYPE_IPV6)
 	{
-		str_format(string, max_length, "[%x:%x:%x:%x:%x:%x:%x:%x]:%d",
-			(addr->ip[0]<<8)|addr->ip[1], (addr->ip[2]<<8)|addr->ip[3], (addr->ip[4]<<8)|addr->ip[5], (addr->ip[6]<<8)|addr->ip[7],
-			(addr->ip[8]<<8)|addr->ip[9], (addr->ip[10]<<8)|addr->ip[11], (addr->ip[12]<<8)|addr->ip[13], (addr->ip[14]<<8)|addr->ip[15],
-			addr->port);
+		if(addr->port != 0)
+			str_format(string, max_length, "[%x:%x:%x:%x:%x:%x:%x:%x]:%d",
+				(addr->ip[0]<<8)|addr->ip[1], (addr->ip[2]<<8)|addr->ip[3], (addr->ip[4]<<8)|addr->ip[5], (addr->ip[6]<<8)|addr->ip[7],
+				(addr->ip[8]<<8)|addr->ip[9], (addr->ip[10]<<8)|addr->ip[11], (addr->ip[12]<<8)|addr->ip[13], (addr->ip[14]<<8)|addr->ip[15],
+				addr->port);
+		else
+			str_format(string, max_length, "[%x:%x:%x:%x:%x:%x:%x:%x]",
+				(addr->ip[0]<<8)|addr->ip[1], (addr->ip[2]<<8)|addr->ip[3], (addr->ip[4]<<8)|addr->ip[5], (addr->ip[6]<<8)|addr->ip[7],
+				(addr->ip[8]<<8)|addr->ip[9], (addr->ip[10]<<8)|addr->ip[11], (addr->ip[12]<<8)|addr->ip[13], (addr->ip[14]<<8)|addr->ip[15]);
 	}
 	else
 		str_format(string, max_length, "unknown type %d", addr->type);