diff options
| author | heinrich5991 <heinrich5991@gmail.com> | 2011-04-22 19:52:27 +0200 |
|---|---|---|
| committer | heinrich5991 <heinrich5991@gmail.com> | 2011-04-22 19:52:27 +0200 |
| commit | e50e103529cf76b056ced64b41e808009d67a64c (patch) | |
| tree | 931c979252eb48ad030df0850f6edc73e4bf012f | |
| parent | fede33447ae04d79015afadc88db97ee220f0aee (diff) | |
| download | zcatch-e50e103529cf76b056ced64b41e808009d67a64c.tar.gz zcatch-e50e103529cf76b056ced64b41e808009d67a64c.zip | |
made net_addr_str give a string without port if it is = 0
| -rw-r--r-- | src/base/system.c | 20 |
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); |