aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-05-31 21:24:19 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-06-01 16:45:49 +0200
commit825d842f1458969f50bdf6a5620c77d15d1b8531 (patch)
tree21736e7115983e6cbb88a0181951cfc327af3f96
parent0b81f86f55649fd94e1fbc37220f81d0153cddbb (diff)
downloadslirp-825d842f1458969f50bdf6a5620c77d15d1b8531.zip
slirp-825d842f1458969f50bdf6a5620c77d15d1b8531.tar.gz
slirp-825d842f1458969f50bdf6a5620c77d15d1b8531.tar.bz2
slirp: Fix spurious error report when sending directly
Move check to where it actually is useful, and reduce scope of 'len' variable along the way. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-rw-r--r--socket.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/socket.c b/socket.c
index 160b460..855acc2 100644
--- a/socket.c
+++ b/socket.c
@@ -336,7 +336,7 @@ int sosendoob(struct socket *so)
struct sbuf *sb = &so->so_rcv;
char buff[2048]; /* XXX Shouldn't be sending more oob data than this */
- int n, len;
+ int n;
DEBUG_CALL("sosendoob");
DEBUG_ARG("so = %p", so);
@@ -356,7 +356,7 @@ int sosendoob(struct socket *so)
* send it all
*/
uint32_t urgc = so->so_urgc;
- len = (sb->sb_data + sb->sb_datalen) - sb->sb_rptr;
+ int len = (sb->sb_data + sb->sb_datalen) - sb->sb_rptr;
if (len > urgc) {
len = urgc;
}
@@ -371,13 +371,13 @@ int sosendoob(struct socket *so)
len += n;
}
n = slirp_send(so, buff, len, (MSG_OOB)); /* |MSG_DONTWAIT)); */
- }
-
#ifdef DEBUG
- if (n != len) {
- DEBUG_ERROR((dfd, "Didn't send all data urgently XXXXX\n"));
- }
+ if (n != len) {
+ DEBUG_ERROR((dfd, "Didn't send all data urgently XXXXX\n"));
+ }
#endif
+ }
+
if (n < 0) {
return n;
}