diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-04-19 13:48:31 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2009-04-19 13:48:31 +0300 |
commit | 34b2bb1ff685c470ac2007383ea7207273ddc78e (patch) | |
tree | 9c434780f06069458b915e78a38e6594ea7e1784 /mfd/prog.c | |
parent | 281074e737bf0c9e5735a96f7bee055d065ec792 (diff) | |
download | mailfromd-34b2bb1ff685c470ac2007383ea7207273ddc78e.tar.gz mailfromd-34b2bb1ff685c470ac2007383ea7207273ddc78e.tar.bz2 |
Do not use RFC822 filter.
* mfd/bi_sa.m4 (write_822): New function to replace MU's "rfc822" filter,
which is a pile of junk (sorry). Improves performance, besides.
(spamd_send_stream): Use write_822 instead of the filter. See above.
* mfd/engine.c: Fix comment.
* mfd/mailfromd.h (mem_search): New proto.
* mfd/prog.c (env_capture_write): Use mem_search.
Diffstat (limited to 'mfd/prog.c')
-rw-r--r-- | mfd/prog.c | 9 |
1 files changed, 2 insertions, 7 deletions
@@ -2179,12 +2179,7 @@ env_capture_write(eval_environ_t env, const char *buf, size_t size) env_capture_count_lines(env, buf, size); while (size) { int rc; - size_t len; - const char *p = memchr(buf, '\r', size); - if (p) - len = p - buf; - else - len = size; + size_t len = mem_search(buf, '\r', size); rc = mu_stream_sequential_write(env->stream, buf, len); if (rc) { mu_error(_("%sTemporary stream write failed: %s"), @@ -2195,7 +2190,7 @@ env_capture_write(eval_environ_t env, const char *buf, size_t size) mu_stream_get_owner(env->stream)); return rc; } - if (p) + if (buf[len] == '\r') len++; buf += len; size -= len; |