updates.
authorPekka Riikonen <priikone@silcnet.org>
Thu, 21 Nov 2002 16:33:52 +0000 (16:33 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 21 Nov 2002 16:33:52 +0000 (16:33 +0000)
lib/silcutil/silcbuffmt.c
lib/silcutil/unix/silcunixsockconn.c

index 3f0a529b575fdbe5b27d7a918e738aaff50fb210..c323a631fca987bd000f61cb80ef75e9473c8292 100644 (file)
@@ -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:
index b65ad21dc1d90c2ab5e93de5989d02fb7a2212ed..285d9418fe84fdd77e5bd5c7f8e39b0b1fc01803 100644 (file)
@@ -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;
       }