diff mbox series

net/slirp: libslirp 4.8.0 compatibility

Message ID 20250130102643.844806-1-mjt@tls.msk.ru (mailing list archive)
State New
Headers show
Series net/slirp: libslirp 4.8.0 compatibility | expand

Commit Message

Michael Tokarev Jan. 30, 2025, 10:26 a.m. UTC
This updates the code in net/slirp.c to be compatible with
libslirp 4.8.0, which deprecated slirp_pollfds_fill()
and started using slirp_os_socket type for sockets
(which is a 64-bit integer on win64).

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
---
I don't remember if this change has already been proposed.

 net/slirp.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/net/slirp.c b/net/slirp.c
index eb9a456ed4..5d6d059a95 100644
--- a/net/slirp.c
+++ b/net/slirp.c
@@ -314,7 +314,12 @@  static int slirp_poll_to_gio(int events)
     return ret;
 }
 
-static int net_slirp_add_poll(int fd, int events, void *opaque)
+#if SLIRP_CONFIG_VERSION_MAX < 6 /* < 4.8.0 compatibility */
+# define slirp_os_socket int
+# define slirp_pollfds_fill_socket slirp_pollfds_fill
+#endif
+
+static int net_slirp_add_poll(slirp_os_socket fd, int events, void *opaque)
 {
     GArray *pollfds = opaque;
     GPollFD pfd = {
@@ -363,8 +368,8 @@  static void net_slirp_poll_notify(Notifier *notifier, void *data)
 
     switch (poll->state) {
     case MAIN_LOOP_POLL_FILL:
-        slirp_pollfds_fill(s->slirp, &poll->timeout,
-                           net_slirp_add_poll, poll->pollfds);
+        slirp_pollfds_fill_socket(s->slirp, &poll->timeout,
+                                  net_slirp_add_poll, poll->pollfds);
         break;
     case MAIN_LOOP_POLL_OK:
     case MAIN_LOOP_POLL_ERR: