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) {
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;
{
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);
}
{
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);
}
/* 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);