From: Pekka Riikonen Date: Thu, 21 Nov 2002 16:33:52 +0000 (+0000) Subject: updates. X-Git-Tag: 1.2.beta1~868 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=de0b797650ea57886e2e50f30feced2a96e3476c;p=runtime.git updates. --- 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; }