summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2003-06-24 18:15:59 +0000
committerHarald Welte <laforge@gnumonks.org>2003-06-24 18:15:59 +0000
commit8a50ab83de750cc489e2965e2f017a9db7a894b3 (patch)
tree0a6496c74023d29a8d17545a6c590c9074f58f91
parentfbc85236a6140918ab1d0fb0e07e2d72da46ce45 (diff)
Fix printing of odd ip6tables netmasks (Closes: #103)
-rw-r--r--ip6tables.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/ip6tables.c b/ip6tables.c
index 17bdb4e5..664b307b 100644
--- a/ip6tables.c
+++ b/ip6tables.c
@@ -578,10 +578,13 @@ addr_to_host(const struct in6_addr *addr)
static char *
mask_to_numeric(const struct in6_addr *addrp)
{
- static char buf[20];
+ static char buf[50+2];
int l = ipv6_prefix_length(addrp);
- if (l == -1)
- return addr_to_numeric(addrp);
+ if (l == -1) {
+ strcpy(buf, "/");
+ strcat(buf, addr_to_numeric(addrp));
+ return buf;
+ }
sprintf(buf, "/%d", l);
return buf;
}