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=ab651950ab94c6c8e228b42897abb38a83351b23 The branch, master has been updated via ab651950ab94c6c8e228b42897abb38a83351b23 (commit) via 39b00209c02e1ff1b96b2fc12cbc5b1684e25374 (commit) from 09372ddfbaeb45facface67dea795f8e9059d899 (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 ab651950ab94c6c8e228b42897abb38a83351b23 Author: Sergey Poznyakoff <g...@gnu.org.ua> Date: Mon Oct 24 00:20:49 2011 +0300 imap4d: fix reading multi-line literals * imap4d/io.c (imap4d_tokbuf_decrlf): New function. (imap4d_tokbuf_expand): Call imap4d_tokbuf_decrlf for literals. commit 39b00209c02e1ff1b96b2fc12cbc5b1684e25374 Author: Sergey Poznyakoff <g...@gnu.org.ua> Date: Mon Oct 24 00:19:09 2011 +0300 Minor change. * mh/tests/atlocal.in (mimeflt): ignore stderr, instead of reading input from /dev/null, because this function can theoretically be used as a filter. ----------------------------------------------------------------------- Summary of changes: imap4d/io.c | 20 ++++++++++++++++++++ mh/tests/atlocal.in | 7 ++++++- 2 files changed, 26 insertions(+), 1 deletions(-) diff --git a/imap4d/io.c b/imap4d/io.c index 6c1c375..4fad3c3 100644 --- a/imap4d/io.c +++ b/imap4d/io.c @@ -416,6 +416,25 @@ imap4d_tokbuf_unquote (struct imap4d_tokbuf *tok, size_t *poff, size_t *plen) } static void +imap4d_tokbuf_decrlf (struct imap4d_tokbuf *tok, size_t off, size_t *plen) +{ + char *buf = tok->buffer + off; + size_t len = *plen; + char *p, *end = buf + len; + + for (p = end - 1; p > buf; p--) + { + if (*p == '\n' && p > buf && p[-1] == '\r') + { + memmove (p - 1, p, end - p); + end--; + p--; + } + } + *plen = end - buf; +} + +static void imap4d_tokbuf_expand (struct imap4d_tokbuf *tok, size_t size) { if (tok->size - tok->level < size) @@ -596,6 +615,7 @@ imap4d_readline (struct imap4d_tokbuf *tok) } check_input_err (rc, len); imap4d_tokbuf_unquote (tok, &off, &len); + imap4d_tokbuf_decrlf (tok, off, &len); tok->level += len; tok->buffer[tok->level++] = 0; tok->argp[tok->argc - 1] = off; diff --git a/mh/tests/atlocal.in b/mh/tests/atlocal.in index 18e9d84..e21d477 100644 --- a/mh/tests/atlocal.in +++ b/mh/tests/atlocal.in @@ -11,6 +11,11 @@ remove_curdir() { # If FILE is not given, filter stdin. # "Variable information" means part boundary and Content-ID header values. # These elements are likely to change between invocations of mhn -build. +# +# Stderr is redirected to /dev/null because "one true awk" (used, in +# particular, on FreeBSD) complains when closing stdin fails, even if +# it did not use it at all (it fails because stdin is closed earlier by +# MH_SETUP). mimeflt() { awk ' /^Content-Type:/ { @@ -35,5 +40,5 @@ awk ' } else print } -' $* </dev/null +' $* 2>/dev/null } hooks/post-receive -- GNU Mailutils _______________________________________________ Commit-mailutils mailing list Commit-mailutils@gnu.org https://lists.gnu.org/mailman/listinfo/commit-mailutils