diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-04-13 18:09:24 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-04-13 18:09:24 +0000 |
commit | c4711d10e376605b3dcce187a5d7de718fe93ecf (patch) | |
tree | f62ae63ce52f592fb404fb4bb37c15fb76b56427 | |
parent | 303f1ecfa93feed59f59b7e03e779d947568522a (diff) | |
download | mailfromd-c4711d10e376605b3dcce187a5d7de718fe93ecf.tar.gz mailfromd-c4711d10e376605b3dcce187a5d7de718fe93ecf.tar.bz2 |
New builtins: message_size, message_body_size and message_header_size
git-svn-id: file:///svnroot/mailfromd/trunk@1654 7a8a7f39-df28-0410-adc6-e0d955640f24
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | doc/mailfromd.texi | 10 | ||||
-rw-r--r-- | mfd/bi_msg.m4 | 54 |
5 files changed, 73 insertions, 8 deletions
@@ -1,3 +1,11 @@ +2008-04-13 Sergey Poznyakoff <gray@gnu.org.ua> + + * configure.ac: Require Mailutils 1.9.90 + * doc/mailfromd.texi: Update. + * mfd/bi_msg.m4 (message_size, message_body_size) + (message_header_size): New functions. + * NEWS: Update. + 2008-04-05 Sergey Poznyakoff <gray@gnu.org.ua> * mtasim/mtasim.c: New command line options --user and --group. @@ -1,4 +1,4 @@ -Mailfromd NEWS -- history of user-visible changes. 2008-04-05 +Mailfromd NEWS -- history of user-visible changes. 2008-04-13 Copyright (C) 2005, 2006, 2007, 2008 Sergey Poznyakoff See the end of file for copying conditions. @@ -7,7 +7,7 @@ Please send Mailfromd bug reports to <bug-gmach@gnu.org.ua> Version 4.9.92 (SVN) -* Requires Mailutils 1.2.90 or better. +* Requires Mailutils 1.9.90 or better. * Incompatible changes @@ -49,6 +49,7 @@ done - number mailbox_open(string url[, string mode]) - number message_body_lines(number nmsg) - void message_body_rewind(number nmsg) +- number message_body_size(number nmsg) - void message_close(number nmsg) - number message_count_parts(number nmsg) - string message_find_header(number nmsg, string header[, number idx]) @@ -56,11 +57,13 @@ done - bool message_has_header(number msg, string header[, number idx]) - number message_header_count(number nmsg) - number message_header_lines(number nmsg) +- number message_header_size(number nmsg) - bool message_is_multipart(number nmsg) - number message_lines(number nmsg) - string message_read_body_line(number nmsg) - string message_read_line(number nmsg) - void message_rewind(number nmsg) +- number message_size(number nmsg) * Changes to MFL functions diff --git a/configure.ac b/configure.ac index 1714319b..25b845a8 100644 --- a/configure.ac +++ b/configure.ac @@ -95,7 +95,7 @@ extern char *strtok_r (char *s, const char *delim, char **save_ptr); ]) # Check for GNU Mailutils -AM_GNU_MAILUTILS(1.2.90, [all auth sieve cfg argp], [:]) +AM_GNU_MAILUTILS(1.9.90, [all auth sieve cfg argp], [:]) save_LIBS=$LIBS LIBS="$LIBS $MAILUTILS_LIBS" diff --git a/doc/mailfromd.texi b/doc/mailfromd.texi index 7e854159..3c3f37ee 100644 --- a/doc/mailfromd.texi +++ b/doc/mailfromd.texi @@ -740,10 +740,10 @@ undertake in order to configure and build the package. packages on your machine: @enumerate A -@item GNU mailutils version 1.2.91 or newer. +@item GNU mailutils version 1.9.90 or newer. It is available from @uref{http://www.gnu.org/software/mailutils}. -@FIXME{The version 1.2.91 is an alpha version. Its snapshots are +@FIXME{The version 1.9.90 is an alpha version. Its snapshots are available from @uref{ftp://download.gnu.org.ua/pub/alpha/mailutils}.} @item A @acronym{DBM} library. @@ -6162,9 +6162,9 @@ message contains several headers with the same name, optional parameter @var{idx} may be used to select one of them. Headers are numbered from @samp{1}. -If no matching header is not found, raise @code{failure} exception. -@FIXME{It should be @code{not_found}, but this requires fixing -Mailutils.} +If no matching header is not found, the @code{not_found} exception is +raised. If another error occures, the @code{failure} exception is +raised. The returned string is a verbatim copy of the message contents. You might need to apply the @code{unfold} function to it (@pxref{Mail diff --git a/mfd/bi_msg.m4 b/mfd/bi_msg.m4 index 13313fa9..05c6962b 100644 --- a/mfd/bi_msg.m4 +++ b/mfd/bi_msg.m4 @@ -140,6 +140,24 @@ MF_DEFUN(message_close, VOID, NUMBER nmsg) } END +/* number message_size(number nmsg) */ +MF_DEFUN(message_size, NUMBER, NUMBER nmsg) +{ + int rc; + size_t size; + DCL_MSG(mp, nmsg); + + rc = mu_message_size(mp->msg, &size); + MF_ASSERT(rc == 0, + mfe_failure, + "%s", mu_strerror(rc)); + MF_ASSERT(size < LONG_MAX, + mfe_range, + _("Message size out of representable range")); + MF_RETURN((long)size); +} +END + /* number message_lines(number nmsg) */ MF_DEFUN(message_lines, NUMBER, NUMBER nmsg) { @@ -156,6 +174,24 @@ MF_DEFUN(message_lines, NUMBER, NUMBER nmsg) } END +/* number message_body_size(number nmsg) */ +MF_DEFUN(message_body_size, NUMBER, NUMBER nmsg) +{ + int rc; + size_t size; + DCL_BODY(mp, nmsg); + + rc = mu_body_size(mp->body, &size); + MF_ASSERT(rc == 0, + mfe_failure, + "%s", mu_strerror(rc)); + MF_ASSERT(size < LONG_MAX, + mfe_range, + _("Body size out of representable range")); + MF_RETURN((long)size); +} +END + /* number message_body_lines(number nmsg) */ MF_DEFUN(message_body_lines, NUMBER, NUMBER nmsg) { @@ -175,6 +211,24 @@ END /* Headers */ +/* number message_header_size(number nmsg) */ +MF_DEFUN(message_header_size, NUMBER, NUMBER nmsg) +{ + int rc; + size_t size; + DCL_HDR(mp, nmsg); + + rc = mu_header_size(mp->hdr, &size); + MF_ASSERT(rc == 0, + mfe_failure, + "%s", mu_strerror(rc)); + MF_ASSERT(size < LONG_MAX, + mfe_range, + _("Header size out of representable range")); + MF_RETURN((long)size); +} +END + /* number message_header_lines(number nmsg) */ MF_DEFUN(message_header_lines, NUMBER, NUMBER nmsg) { |