--- io.c.orig Fri Apr 21 09:40:19 2006 +++ io.c Tue Sep 19 21:55:12 2006 @@ -300,6 +300,7 @@ exit_cleanup(RERR_STREAMIO); } close_multiplexing_out(); + defer_forwarding_messages = 0; /* FALL THROUGH */ case MSG_INFO: case MSG_ERROR: @@ -1140,11 +1142,20 @@ while (msg2sndr.head && io_multiplexing_out) { struct msg_list_item *m = msg2sndr.head; + int tag = (IVAL(m->buf, 0) >> 24) - MPLEX_BASE; if (!(msg2sndr.head = m->next)) msg2sndr.tail = NULL; - stats.total_written += m->len; defer_forwarding_messages = 1; - writefd_unbuffered(sock_f_out, m->buf, m->len); + switch (tag) { + case MSG_INFO: + case MSG_ERROR: + rwrite((enum logcode)tag, m->buf + 4, m->len - 4); + break; + default: + stats.total_written += m->len; + writefd_unbuffered(sock_f_out, m->buf, m->len); + break; + } defer_forwarding_messages = 0; free(m); } --- prepare-source.orig Tue Sep 19 21:55:58 2006 +++ prepare-source Tue Sep 19 21:56:05 2006 @@ -9,4 +9,4 @@ if test x"$dir" != x -o x"$dir" != x.; then cd "$dir" fi -make -f prepare-source.mak +gmake -f prepare-source.mak