diff options
Diffstat (limited to 'net/slirp.c')
-rw-r--r-- | net/slirp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/slirp.c b/net/slirp.c index 407e8aa704..f9f6fc6b0b 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -763,7 +763,8 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str, return -1; } - if (slirp_add_exec(s->slirp, 3, fwd->hd.chr, &server, port) < 0) { + if (slirp_add_exec(s->slirp, 3, qemu_chr_fe_get_driver(&fwd->hd), + &server, port) < 0) { error_report("conflicting/invalid host:port in guest forwarding " "rule '%s'", config_str); g_free(fwd); @@ -774,8 +775,8 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str, fwd->slirp = s->slirp; qemu_chr_fe_claim_no_fail(fwd->hd.chr); - qemu_chr_add_handlers(fwd->hd.chr, guestfwd_can_read, guestfwd_read, - NULL, fwd); + qemu_chr_fe_set_handlers(&fwd->hd, guestfwd_can_read, guestfwd_read, + NULL, fwd, NULL); } return 0; |