1From 73b1002eda17451db1f58431b42c25203f1d3097 Mon Sep 17 00:00:00 2001 2From: Khem Raj <raj.khem@gmail.com> 3Date: Sun, 9 Sep 2018 17:38:10 -0700 4Subject: [PATCH] connect has a different signature on musl 5 6On linux when not using glibc and using musl for C library, connect 7API has a different signature, this patch fixes this so it can compile 8on musl, the functionality should remain same as it is immediately 9typcasted to struct sockaddr_in* type inside the function before use 10 11Upstream-Status: Pending 12 13Signed-off-by: Khem Raj <raj.khem@gmail.com> 14--- 15 validate/plugins/fault_injection/socket_interposer.c | 7 ++++++- 16 1 file changed, 6 insertions(+), 1 deletion(-) 17 18diff --git a/validate/plugins/fault_injection/socket_interposer.c b/validate/plugins/fault_injection/socket_interposer.c 19index 53c1ebb..ad7adf8 100644 20--- a/validate/plugins/fault_injection/socket_interposer.c 21+++ b/validate/plugins/fault_injection/socket_interposer.c 22@@ -100,10 +100,15 @@ socket_interposer_set_callback (struct sockaddr_in *addrin, 23 } 24 25 int 26-connect (int socket, const struct sockaddr_in *addrin, socklen_t address_len) 27+#if defined(__linux__) && !defined(__GLIBC__) 28+connect (int socket, const struct sockaddr *addr, socklen_t address_len) 29+#else 30+connect (int socket, const struct sockaddr_in *addr, socklen_t address_len) 31+#endif 32 { 33 size_t i; 34 int override_errno = 0; 35+ struct sockaddr_in* addrin = (struct sockaddr_in*)addr; 36 typedef ssize_t (*real_connect_fn) (int, const struct sockaddr_in *, 37 socklen_t); 38 static real_connect_fn real_connect = 0; 39