From de0b797650ea57886e2e50f30feced2a96e3476c Mon Sep 17 00:00:00 2001 From: Pekka Riikonen Date: Thu, 21 Nov 2002 16:33:52 +0000 Subject: [PATCH] updates. --- lib/silcutil/silcbuffmt.c | 8 +++++--- lib/silcutil/unix/silcunixsockconn.c | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/silcutil/silcbuffmt.c b/lib/silcutil/silcbuffmt.c index 3f0a529b..c323a631 100644 --- a/lib/silcutil/silcbuffmt.c +++ b/lib/silcutil/silcbuffmt.c @@ -161,9 +161,11 @@ int silc_buffer_format_vp(SilcBuffer dst, va_list ap) { unsigned char *x = va_arg(ap, unsigned char *); SilcUInt32 len = va_arg(ap, SilcUInt32); - MY_HAS_SPACE(dst, len); - silc_buffer_put(dst, x, len); - silc_buffer_pull(dst, len); + if (x && len) { + MY_HAS_SPACE(dst, len); + silc_buffer_put(dst, x, len); + silc_buffer_pull(dst, len); + } break; } case SILC_BUFFER_PARAM_END: diff --git a/lib/silcutil/unix/silcunixsockconn.c b/lib/silcutil/unix/silcunixsockconn.c index b65ad21d..285d9418 100644 --- a/lib/silcutil/unix/silcunixsockconn.c +++ b/lib/silcutil/unix/silcunixsockconn.c @@ -41,7 +41,7 @@ int silc_socket_write(SilcSocketConnection sock) if (src->len > 0) { ret = write(fd, src->data, src->len); if (ret < 0) { - if (errno == EAGAIN) { + if (errno == EAGAIN || errno == EINTR) { SILC_LOG_DEBUG(("Could not write immediately, will do it later")); return -2; } -- 2.24.0