The only callers of vnc_client_io_error() with non-NULL errp don't use *errp after the function gets called, so there's no need to use an Error** argument. Change parameter to Error* and simplify the code.
Cc: Gerd Hoffmann <kra...@redhat.com> Cc: Daniel P. Berrange <berra...@redhat.com> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> --- ui/vnc.h | 2 +- ui/vnc.c | 13 +++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/ui/vnc.h b/ui/vnc.h index 694cf32ca9..52f65bbd86 100644 --- a/ui/vnc.h +++ b/ui/vnc.h @@ -526,7 +526,7 @@ uint32_t read_u32(uint8_t *data, size_t offset); /* Protocol stage functions */ void vnc_client_error(VncState *vs); -ssize_t vnc_client_io_error(VncState *vs, ssize_t ret, Error **errp); +ssize_t vnc_client_io_error(VncState *vs, ssize_t ret, Error *err); void start_client_init(VncState *vs); void start_auth_vnc(VncState *vs); diff --git a/ui/vnc.c b/ui/vnc.c index 47b49c7318..51f13f0c29 100644 --- a/ui/vnc.c +++ b/ui/vnc.c @@ -1180,7 +1180,7 @@ void vnc_disconnect_finish(VncState *vs) g_free(vs); } -ssize_t vnc_client_io_error(VncState *vs, ssize_t ret, Error **errp) +ssize_t vnc_client_io_error(VncState *vs, ssize_t ret, Error *err) { if (ret <= 0) { if (ret == 0) { @@ -1188,14 +1188,11 @@ ssize_t vnc_client_io_error(VncState *vs, ssize_t ret, Error **errp) vnc_disconnect_start(vs); } else if (ret != QIO_CHANNEL_ERR_BLOCK) { VNC_DEBUG("Closing down client sock: ret %zd (%s)\n", - ret, errp ? error_get_pretty(*errp) : "Unknown"); + ret, err ? error_get_pretty(err) : "Unknown"); vnc_disconnect_start(vs); } - if (errp) { - error_free(*errp); - *errp = NULL; - } + error_free(err); return 0; } return ret; @@ -1231,7 +1228,7 @@ ssize_t vnc_client_write_buf(VncState *vs, const uint8_t *data, size_t datalen) ret = qio_channel_write( vs->ioc, (const char *)data, datalen, &err); VNC_DEBUG("Wrote wire %p %zd -> %ld\n", data, datalen, ret); - return vnc_client_io_error(vs, ret, &err); + return vnc_client_io_error(vs, ret, err); } @@ -1344,7 +1341,7 @@ ssize_t vnc_client_read_buf(VncState *vs, uint8_t *data, size_t datalen) ret = qio_channel_read( vs->ioc, (char *)data, datalen, &err); VNC_DEBUG("Read wire %p %zd -> %ld\n", data, datalen, ret); - return vnc_client_io_error(vs, ret, &err); + return vnc_client_io_error(vs, ret, err); } -- 2.11.0.259.g40922b1