diff options
| author | Michael Tuexen <tuexen@fh-muenster.de> | 2020-06-16 23:32:09 +0200 |
|---|---|---|
| committer | Michael Tuexen <tuexen@fh-muenster.de> | 2020-06-16 23:32:09 +0200 |
| commit | d6de82c08ce06bbea5b81ea8a2bffbbba2fa222f (patch) | |
| tree | c7dd08ddf538f70e1988bd2f5c188db7bb93fac0 /programs | |
| parent | fef1f15e2ea707df7d27aa8d5d982aac97b9e380 (diff) | |
Further improvements...
Diffstat (limited to 'programs')
| -rw-r--r-- | programs/ekr_loop.c | 16 | ||||
| -rw-r--r-- | programs/ekr_loop_offload.c | 16 |
2 files changed, 32 insertions, 0 deletions
diff --git a/programs/ekr_loop.c b/programs/ekr_loop.c index 8caacb2..a07248b 100644 --- a/programs/ekr_loop.c +++ b/programs/ekr_loop.c @@ -240,6 +240,9 @@ print_addresses(struct socket *sock) sin = (struct sockaddr_in *)addr; name = inet_ntop(AF_INET, &sin->sin_addr, buf, INET_ADDRSTRLEN); fprintf(stderr, "%s:%d", name, ntohs(sin->sin_port)); +#if !defined(HAVE_SA_LEN) + sa_len = (int)sizeof(struct sockaddr_in); +#endif break; } case AF_INET6: @@ -251,6 +254,9 @@ print_addresses(struct socket *sock) sin6 = (struct sockaddr_in6 *)addr; name = inet_ntop(AF_INET6, &sin6->sin6_addr, buf, INET6_ADDRSTRLEN); fprintf(stderr, "%s:%d", name, ntohs(sin6->sin6_port)); +#if !defined(HAVE_SA_LEN) + sa_len = (int)sizeof(struct sockaddr_in6); +#endif break; } case AF_CONN: @@ -259,13 +265,23 @@ print_addresses(struct socket *sock) sconn = (struct sockaddr_conn *)addr; fprintf(stderr, "%p:%d", sconn->sconn_addr, ntohs(sconn->sconn_port)); +#if !defined(HAVE_SA_LEN) + sa_len = (int)sizeof(struct sockaddr_conn); +#endif break; } default: fprintf(stderr, "Unknown family: %d", addr->sa_family); +#if !defined(HAVE_SA_LEN) + sa_len = (int)sizeof(struct sockaddr); +#endif break; } +#if !defined(HAVE_SA_LEN) + addr = (struct sockaddr *)((char *)addr + sa_len); +#else addr = (struct sockaddr *)((caddr_t)addr + addr->sa_len); +#endif if (i != n - 1) { fprintf(stderr, ","); } diff --git a/programs/ekr_loop_offload.c b/programs/ekr_loop_offload.c index 295380e..59c2d20 100644 --- a/programs/ekr_loop_offload.c +++ b/programs/ekr_loop_offload.c @@ -259,6 +259,9 @@ print_addresses(struct socket *sock) sin = (struct sockaddr_in *)addr; name = inet_ntop(AF_INET, &sin->sin_addr, buf, INET_ADDRSTRLEN); fprintf(stderr, "%s:%d", name, ntohs(sin->sin_port)); +#if !defined(HAVE_SA_LEN) + sa_len = (int)sizeof(struct sockaddr_in); +#endif break; } case AF_INET6: @@ -270,6 +273,9 @@ print_addresses(struct socket *sock) sin6 = (struct sockaddr_in6 *)addr; name = inet_ntop(AF_INET6, &sin6->sin6_addr, buf, INET6_ADDRSTRLEN); fprintf(stderr, "%s:%d", name, ntohs(sin6->sin6_port)); +#if !defined(HAVE_SA_LEN) + sa_len = (int)sizeof(struct sockaddr_in6); +#endif break; } case AF_CONN: @@ -278,13 +284,23 @@ print_addresses(struct socket *sock) sconn = (struct sockaddr_conn *)addr; fprintf(stderr, "%p:%d", sconn->sconn_addr, ntohs(sconn->sconn_port)); +#if !defined(HAVE_SA_LEN) + sa_len = (int)sizeof(struct sockaddr_conn); +#endif break; } default: fprintf(stderr, "Unknown family: %d", addr->sa_family); +#if !defined(HAVE_SA_LEN) + sa_len = (int)sizeof(struct sockaddr); +#endif break; } +#if !defined(HAVE_SA_LEN) + addr = (struct sockaddr *)((char *)addr + sa_len); +#else addr = (struct sockaddr *)((caddr_t)addr + addr->sa_len); +#endif if (i != n - 1) { fprintf(stderr, ","); } |
