Message ID | 20191127184140.15264-1-vsementsov@virtuozzo.com |
---|---|
State | New |
Headers | show |
Series | [v6] vnc: drop Error pointer indirection in vnc_client_io_error | expand |
Vladimir Sementsov-Ogievskiy <vsementsov@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 <vsementsov@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 <armbru@redhat.com>
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; @@ -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); }
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 <vsementsov@virtuozzo.com> --- ui/vnc.h | 2 +- ui/vnc.c | 20 +++++++------------- 2 files changed, 8 insertions(+), 14 deletions(-)