Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> writes: > We don't need Error **, as all callers pass local Error object, which > isn't used after the call, or NULL. Use Error * instead. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > --- > ui/vnc.h | 2 +- > ui/vnc.c | 20 +++++++------------- > 2 files changed, 8 insertions(+), 14 deletions(-) > > diff --git a/ui/vnc.h b/ui/vnc.h > index fea79c2fc9..4e2637ce6c 100644 > --- a/ui/vnc.h > +++ b/ui/vnc.h > @@ -547,7 +547,7 @@ uint32_t read_u32(uint8_t *data, size_t offset); > > /* Protocol stage functions */ > void vnc_client_error(VncState *vs); > -size_t vnc_client_io_error(VncState *vs, ssize_t ret, Error **errp); > +size_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 87b8045afe..4100d6e404 100644 > --- a/ui/vnc.c > +++ b/ui/vnc.c > @@ -1312,7 +1312,7 @@ void vnc_disconnect_finish(VncState *vs) > g_free(vs); > } > > -size_t vnc_client_io_error(VncState *vs, ssize_t ret, Error **errp) > +size_t vnc_client_io_error(VncState *vs, ssize_t ret, Error *err) > { > if (ret <= 0) { > if (ret == 0) { > @@ -1320,15 +1320,11 @@ size_t vnc_client_io_error(VncState *vs, ssize_t ret, > Error **errp) > vnc_disconnect_start(vs); > } else if (ret != QIO_CHANNEL_ERR_BLOCK) { > trace_vnc_client_io_error(vs, vs->ioc, > - errp ? error_get_pretty(*errp) : > - "Unknown"); > + err ? error_get_pretty(err) : > "Unknown"); > vnc_disconnect_start(vs); > } > > - if (errp) { > - error_free(*errp); > - *errp = NULL; > - } > + error_free(err); > return 0; > } > return ret;
Not visible in this patch: the vnc_client_io_error(vs, -1, NULL) in ui/vnc-auth-sasl.c. They trace "Unknown", vnc_disconnect_start() as before. They additionally execute error_free(NULL), which does nothing. Good. > @@ -1361,10 +1357,9 @@ size_t vnc_client_write_buf(VncState *vs, const > uint8_t *data, size_t datalen) > { > Error *err = NULL; > ssize_t ret; > - ret = qio_channel_write( > - vs->ioc, (const char *)data, datalen, &err); > + 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); > } > > > @@ -1488,10 +1483,9 @@ size_t vnc_client_read_buf(VncState *vs, uint8_t > *data, size_t datalen) > { > ssize_t ret; > Error *err = NULL; > - ret = qio_channel_read( > - vs->ioc, (char *)data, datalen, &err); > + 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); > } Nothing changes for these guys. Reviewed-by: Markus Armbruster <arm...@redhat.com>