Signed-off-by: Lukáš Hrázký <lhrazky@xxxxxxxxxx> --- src/stream-port.cpp | 20 +++++++++++--------- src/stream-port.hpp | 4 ++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/stream-port.cpp b/src/stream-port.cpp index 526c564..cee63ac 100644 --- a/src/stream-port.cpp +++ b/src/stream-port.cpp @@ -17,10 +17,10 @@ namespace spice { namespace streaming_agent { -void read_all(int fd, void *msg, size_t len) +void read_all(int fd, void *buf, size_t len) { while (len > 0) { - ssize_t n = read(fd, msg, len); + ssize_t n = read(fd, buf, len); if (n < 0) { if (errno == EINTR) { @@ -30,22 +30,24 @@ void read_all(int fd, void *msg, size_t len) } len -= n; - msg = (uint8_t *) msg + n; + buf = (uint8_t *) buf + n; } } -void write_all(int fd, const void *buf, const size_t len) +void write_all(int fd, const void *buf, size_t len) { - size_t written = 0; - while (written < len) { - int l = write(fd, (const char *) buf + written, len - written); - if (l < 0) { + while (len > 0) { + ssize_t n = write(fd, buf, len); + + if (n < 0) { if (errno == EINTR) { continue; } throw WriteError("Writing message to device failed", errno); } - written += l; + + len -= n; + buf = (uint8_t *) buf + n; } } diff --git a/src/stream-port.hpp b/src/stream-port.hpp index 7780a37..b2d8352 100644 --- a/src/stream-port.hpp +++ b/src/stream-port.hpp @@ -13,8 +13,8 @@ namespace spice { namespace streaming_agent { -void read_all(int fd, void *msg, size_t len); -void write_all(int fd, const void *buf, const size_t len); +void read_all(int fd, void *buf, size_t len); +void write_all(int fd, const void *buf, size_t len); }} // namespace spice::streaming_agent -- 2.16.2 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel