From 6890d5129112d537a77709a65918a4ba445fc07d Mon Sep 17 00:00:00 2001 From: Waldemar Rymarkiewicz Date: Tue, 31 May 2011 12:46:48 +0200 Subject: [PATCH] Fix return value in send_message send_message returns the number of sent bytes and -EIO in case of IO error now --- sap/server.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sap/server.c b/sap/server.c index c5ea97cea..aa8ba237f 100644 --- a/sap/server.c +++ b/sap/server.c @@ -254,7 +254,7 @@ static int send_message(struct sap_connection *conn, void *buf, size_t size) if (!conn || !buf) return -EINVAL; - DBG("size %zu", size); + DBG("conn %p, size %zu", conn, size); gstatus = g_io_channel_write_chars(conn->io, buf, size, &written, &gerr); @@ -263,13 +263,15 @@ static int send_message(struct sap_connection *conn, void *buf, size_t size) g_error_free(gerr); error("write error (0x%02x).", gstatus); - return -EINVAL; + return -EIO; } - if (written != size) - error("write error.(written %zu size %zu)", written, size); + if (written != size) { + error("written %zu bytes out of %zu", written, size); + return -EIO; + } - return 0; + return written; } static int disconnect_ind(void *sap_device, uint8_t disc_type) -- 2.47.3