godot-module-template/engine/thirdparty/misc/patches/ifaddrs-android-0001-complete-struct.patch

33 lines
1 KiB
Diff

diff --git a/thirdparty/misc/ifaddrs-android.h b/thirdparty/misc/ifaddrs-android.h
index e7d81e813f..04ff2ca58b 100644
--- a/thirdparty/misc/ifaddrs-android.h
+++ b/thirdparty/misc/ifaddrs-android.h
@@ -34,6 +34,9 @@
// Fills out a list of ifaddr structs (see below) which contain information
// about every network interface available on the host.
// See 'man getifaddrs' on Linux or OS X (nb: it is not a POSIX function).
+#ifdef __cplusplus
+extern "C" {
+#endif
struct ifaddrs {
struct ifaddrs* ifa_next;
char* ifa_name;
@@ -42,7 +45,17 @@ struct ifaddrs {
struct sockaddr* ifa_netmask;
// Real ifaddrs has broadcast, point to point and data members.
// We don't need them (yet?).
+ // We never initialize the following members. We only define them to match the ifaddrs struct.
+ union
+ {
+ struct sockaddr *ifu_broadaddr;
+ struct sockaddr *ifu_dstaddr;
+ } ifa_ifu;
+ void *ifa_data;
};
+#ifdef __cplusplus
+}
+#endif
int getifaddrs(struct ifaddrs** result);
void freeifaddrs(struct ifaddrs* addrs);