mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-14 21:17:54 +00:00
[client] spice: fix read to allow for larger amounts of data
This commit is contained in:
parent
a7834611d1
commit
4098db039e
1 changed files with 12 additions and 4 deletions
|
@ -1188,11 +1188,19 @@ bool spice_read_nl(const struct SpiceChannel * channel, void * buffer, const ssi
|
|||
return false;
|
||||
}
|
||||
|
||||
ssize_t len = read(channel->socket, buffer, size);
|
||||
if (len != size)
|
||||
size_t left = size;
|
||||
uint8_t * buf = (uint8_t *)buffer;
|
||||
while(left)
|
||||
{
|
||||
DEBUG_ERROR("incomplete write");
|
||||
return false;
|
||||
ssize_t len = read(channel->socket, buf, left);
|
||||
if (len <= 0)
|
||||
{
|
||||
if (len == 0)
|
||||
DEBUG_ERROR("remote end closd connection after %ld byte(s)", size - left);
|
||||
return false;
|
||||
}
|
||||
left -= len;
|
||||
buf += len;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue