aboutsummaryrefslogtreecommitdiff
path: root/mfd/prog.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2009-04-19 13:48:31 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2009-04-19 13:48:31 +0300
commit34b2bb1ff685c470ac2007383ea7207273ddc78e (patch)
tree9c434780f06069458b915e78a38e6594ea7e1784 /mfd/prog.c
parent281074e737bf0c9e5735a96f7bee055d065ec792 (diff)
downloadmailfromd-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.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/mfd/prog.c b/mfd/prog.c
index de0a3a51..1ec1217a 100644
--- a/mfd/prog.c
+++ b/mfd/prog.c
@@ -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;

Return to:

Send suggestions and report system problems to the System administrator.