diff options
-rw-r--r-- | src/print_ipv6_addr.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/print_ipv6_addr.c b/src/print_ipv6_addr.c index bfd985d..b370011 100644 --- a/src/print_ipv6_addr.c +++ b/src/print_ipv6_addr.c @@ -9,7 +9,7 @@ #include <string.h> #include <arpa/inet.h> -static char * get_sockname(struct addrinfo *addr) { +static char *get_sockname(struct addrinfo *addr) { static char buf[INET6_ADDRSTRLEN+1]; struct sockaddr_storage local; int ret; @@ -34,7 +34,6 @@ static char * get_sockname(struct addrinfo *addr) { return NULL; } - socklen_t local_len = sizeof(struct sockaddr_storage); if (getsockname(fd, (struct sockaddr*)&local, &local_len) == -1) { perror("getsockname()"); @@ -105,21 +104,22 @@ static char *get_ipv6_addr() { void print_ipv6_info(const char *format_up, const char *format_down) { const char *walk; - char * addr_string = get_ipv6_addr(); - + char *addr_string = get_ipv6_addr(); + if (addr_string == NULL) { printf("%s", format_down); - } else { - for (walk = format_up; *walk != '\0'; walk++) { - if (*walk != '%') { - putchar(*walk); - continue; - } - - if (strncmp(walk+1, "ip", strlen("ip")) == 0) { - printf("%s", addr_string); - walk += strlen("ip"); - } + return; + } + + for (walk = format_up; *walk != '\0'; walk++) { + if (*walk != '%') { + putchar(*walk); + continue; + } + + if (strncmp(walk+1, "ip", strlen("ip")) == 0) { + printf("%s", addr_string); + walk += strlen("ip"); } } } |