This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU Mailutils".
http://git.savannah.gnu.org/cgit/mailutils.git/commit/?id=7585f48fd66e55f85fea516e1706a945db5e1149 The branch, master has been updated via 7585f48fd66e55f85fea516e1706a945db5e1149 (commit) from c80cac74a8eb89f754d870d2032c04d1a86ea01f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 7585f48fd66e55f85fea516e1706a945db5e1149 Author: Sergey Poznyakoff <g...@gnu.org.ua> Date: Sun Oct 20 21:20:25 2013 +0300 Bigfixes. * imap4d/io.c (io_copy_out): Switch to full buffering before sending data. * libmailutils/stream/stream.c (_stream_skip_input_bytes): Bugfix. ----------------------------------------------------------------------- Summary of changes: imap4d/io.c | 21 ++++++++++++++++++++- libmailutils/stream/stream.c | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/imap4d/io.c b/imap4d/io.c index 21c3f2a..f124a4f 100644 --- a/imap4d/io.c +++ b/imap4d/io.c @@ -159,7 +159,26 @@ sc2string (int rc) int io_copy_out (mu_stream_t str, size_t size) { - return mu_stream_copy (iostream, str, size, NULL); + int rc; + struct mu_buffer_query oldbuf, newbuf; + + oldbuf.type = MU_TRANSPORT_OUTPUT; + if (mu_stream_ioctl (iostream, MU_IOCTL_TRANSPORT_BUFFER, + MU_IOCTL_OP_GET, &oldbuf) == 0) + { + newbuf.type = MU_TRANSPORT_OUTPUT; + newbuf.buftype = mu_buffer_full; + newbuf.bufsize = 64*1024; + mu_stream_ioctl (iostream, MU_IOCTL_TRANSPORT_BUFFER, + MU_IOCTL_OP_SET, &newbuf); + } + + rc = mu_stream_copy (iostream, str, size, NULL); + + mu_stream_ioctl (iostream, MU_IOCTL_TRANSPORT_BUFFER, + MU_IOCTL_OP_SET, &oldbuf); + + return rc; } int diff --git a/libmailutils/stream/stream.c b/libmailutils/stream/stream.c index a7dabbf..0f0e4a7 100644 --- a/libmailutils/stream/stream.c +++ b/libmailutils/stream/stream.c @@ -520,7 +520,7 @@ _stream_skip_input_bytes (mu_stream_t stream, mu_off_t count, mu_off_t *pres) { for (pos = 0;;) { - if (stream->pos == stream->level) + if (pos || stream->level == 0) { if ((rc = _stream_flush_buffer (stream, _MU_STR_FLUSH_ALL))) return rc; hooks/post-receive -- GNU Mailutils _______________________________________________ Commit-mailutils mailing list Commit-mailutils@gnu.org https://lists.gnu.org/mailman/listinfo/commit-mailutils