summaryrefslogtreecommitdiff
path: root/programs
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@fh-muenster.de>2020-06-16 23:32:09 +0200
committerMichael Tuexen <tuexen@fh-muenster.de>2020-06-16 23:32:09 +0200
commitd6de82c08ce06bbea5b81ea8a2bffbbba2fa222f (patch)
treec7dd08ddf538f70e1988bd2f5c188db7bb93fac0 /programs
parentfef1f15e2ea707df7d27aa8d5d982aac97b9e380 (diff)
Further improvements...
Diffstat (limited to 'programs')
-rw-r--r--programs/ekr_loop.c16
-rw-r--r--programs/ekr_loop_offload.c16
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, ",");
}