diff options
-rw-r--r-- | comsat/action.c | 8 | ||||
-rw-r--r-- | examples/mta.c | 2 | ||||
-rw-r--r-- | imap4d/io.c | 4 | ||||
-rw-r--r-- | imap4d/preauth.c | 4 | ||||
-rw-r--r-- | include/mailutils/stream.h | 3 | ||||
-rw-r--r-- | libmailutils/base/rfc2047.c | 4 | ||||
-rw-r--r-- | libmailutils/filter/filter_iconv.c | 3 | ||||
-rw-r--r-- | libmailutils/stream/file_stream.c | 7 | ||||
-rw-r--r-- | libmailutils/stream/fltstream.c | 3 | ||||
-rw-r--r-- | libmailutils/stream/prog_stream.c | 4 | ||||
-rw-r--r-- | libmailutils/stream/rdcache_stream.c | 5 | ||||
-rw-r--r-- | libmailutils/stream/socket_stream.c | 3 | ||||
-rw-r--r-- | libmailutils/stream/streamref.c | 3 | ||||
-rw-r--r-- | libmailutils/stream/temp_file_stream.c | 2 | ||||
-rw-r--r-- | libmailutils/stream/xscript-stream.c | 8 | ||||
-rw-r--r-- | libmailutils/tests/fltst.c | 4 | ||||
-rw-r--r-- | libmu_auth/ldap.c | 16 | ||||
-rw-r--r-- | libmu_auth/tls.c | 11 | ||||
-rw-r--r-- | libmu_sieve/extensions/vacation.c | 3 | ||||
-rw-r--r-- | libproto/pop/pop3_stream.c | 3 | ||||
-rw-r--r-- | maidag/lmtp.c | 2 | ||||
-rw-r--r-- | mail/decode.c | 7 | ||||
-rw-r--r-- | mh/mhn.c | 6 | ||||
-rw-r--r-- | pop3d/extra.c | 4 |
24 files changed, 57 insertions, 62 deletions
diff --git a/comsat/action.c b/comsat/action.c index 59f3c6fcf..e9cf2b03b 100644 --- a/comsat/action.c +++ b/comsat/action.c @@ -570,13 +570,9 @@ eval_biffrc (struct biffrc_environ *env) if (!sp) report_error (env, _("unknown keyword")); else if (ws.ws_wordc < sp->argmin) - { - report_error (env, _("too few arguments")); - } + report_error (env, _("too few arguments")); else if (sp->argmax != -1 && ws.ws_wordc > sp->argmax) - { - report_error (env, _("too many arguments")); - } + report_error (env, _("too many arguments")); else { if (sp->expand) diff --git a/examples/mta.c b/examples/mta.c index 31b76d182..03bb77384 100644 --- a/examples/mta.c +++ b/examples/mta.c @@ -825,7 +825,7 @@ mta_smtp (int argc, char **argv) } rc = mu_fd_stream_create (&str, NULL, sfd, - MU_STREAM_RDWR|MU_STREAM_AUTOCLOSE); + MU_STREAM_RDWR|MU_STREAM_FD_AUTOCLOSE); if (rc) { mu_diag_funcall (MU_DIAG_ERROR, "mu_fd_stream_create", NULL, rc); diff --git a/imap4d/io.c b/imap4d/io.c index 0e9d71aec..1dff9858d 100644 --- a/imap4d/io.c +++ b/imap4d/io.c @@ -30,12 +30,12 @@ io_setio (int ifd, int ofd) imap4d_bye (ERR_NO_OFILE); if (mu_stdio_stream_create (&istream, ifd, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE)) + MU_STREAM_READ | MU_STREAM_FD_AUTOCLOSE)) imap4d_bye (ERR_STREAM_CREATE); mu_stream_set_buffer (istream, mu_buffer_line, 0); if (mu_stdio_stream_create (&ostream, ofd, - MU_STREAM_WRITE | MU_STREAM_AUTOCLOSE)) + MU_STREAM_WRITE | MU_STREAM_FD_AUTOCLOSE)) imap4d_bye (ERR_STREAM_CREATE); mu_stream_set_buffer (ostream, mu_buffer_line, 0); diff --git a/imap4d/preauth.c b/imap4d/preauth.c index 63cc5dc02..184264797 100644 --- a/imap4d/preauth.c +++ b/imap4d/preauth.c @@ -193,8 +193,8 @@ decode64_buf (const char *name, unsigned char **pbuf, size_t *psize) name++; namelen = strlen (name) - 1; mu_static_memory_stream_create (&str, name, namelen); - mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE); + mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, MU_STREAM_READ); + mu_stream_unref (str); mu_stream_read (flt, buf, sizeof buf, &size); mu_stream_destroy (&flt); *pbuf = malloc (size); diff --git a/include/mailutils/stream.h b/include/mailutils/stream.h index 9b880977c..01311fd24 100644 --- a/include/mailutils/stream.h +++ b/include/mailutils/stream.h @@ -43,7 +43,8 @@ enum mu_buffer_type #define MU_STREAM_CREAT 0x00000010 /* So far used only by TCP streams. */ #define MU_STREAM_NONBLOCK 0x00000020 -#define MU_STREAM_AUTOCLOSE 0x00000040 +/* For fd streams only */ +#define MU_STREAM_FD_AUTOCLOSE 0x00000040 /* Not used. Intended for mailboxes only. */ #define MU_STREAM_NONLOCK 0x00000080 /* Not used as well 0x00000100 */ diff --git a/libmailutils/base/rfc2047.c b/libmailutils/base/rfc2047.c index d6349602e..56b176cf3 100644 --- a/libmailutils/base/rfc2047.c +++ b/libmailutils/base/rfc2047.c @@ -269,8 +269,8 @@ mu_rfc2047_encode (const char *charset, const char *encoding, if (rc) return rc; rc = mu_filter_create (&output_stream, input_stream, - encoding, MU_FILTER_ENCODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE); + encoding, MU_FILTER_ENCODE, MU_STREAM_READ); + mu_stream_unref (input_stream); if (rc == 0) { /* Assume strlen(qp_encoded_text) <= strlen(text) * 3 */ diff --git a/libmailutils/filter/filter_iconv.c b/libmailutils/filter/filter_iconv.c index cab442d5d..ae39370cf 100644 --- a/libmailutils/filter/filter_iconv.c +++ b/libmailutils/filter/filter_iconv.c @@ -453,8 +453,7 @@ mu_filter_iconv_create (mu_stream_t *s, mu_stream_t transport, return ENOMEM; } - if (!(flags & MU_STREAM_AUTOCLOSE)) - mu_stream_ref (transport); + mu_stream_ref (transport); iptr->transport = transport; iptr->fallback_mode = fallback_mode; iptr->cd = cd; diff --git a/libmailutils/stream/file_stream.c b/libmailutils/stream/file_stream.c index ffaf5e44c..5c4ec29eb 100644 --- a/libmailutils/stream/file_stream.c +++ b/libmailutils/stream/file_stream.c @@ -65,7 +65,7 @@ fd_close (struct _mu_stream *str) struct _mu_file_stream *fstr = (struct _mu_file_stream *) str; if (fstr->fd != -1) { - if ((str->flags & MU_STREAM_AUTOCLOSE) && close (fstr->fd)) + if ((str->flags & MU_STREAM_FD_AUTOCLOSE) && close (fstr->fd)) return errno; fstr->fd = -1; } @@ -119,7 +119,7 @@ fd_open (struct _mu_stream *str) str->flags &= ~MU_STREAM_SEEK; /* Make sure it will be closed */ - str->flags |= MU_STREAM_AUTOCLOSE; + str->flags |= MU_STREAM_FD_AUTOCLOSE; fstr->fd = fd; return 0; @@ -331,7 +331,8 @@ mu_file_stream_create (mu_stream_t *pstream, const char *filename, int flags) int rc = _mu_file_stream_create (&fstr, sizeof (struct _mu_file_stream), filename, -1, - flags | MU_STREAM_SEEK | MU_STREAM_AUTOCLOSE); + flags | MU_STREAM_SEEK | + MU_STREAM_FD_AUTOCLOSE); if (rc == 0) { mu_stream_t stream = (mu_stream_t) fstr; diff --git a/libmailutils/stream/fltstream.c b/libmailutils/stream/fltstream.c index 87ce1bbf0..8160d31fa 100644 --- a/libmailutils/stream/fltstream.c +++ b/libmailutils/stream/fltstream.c @@ -520,8 +520,7 @@ mu_filter_stream_create (mu_stream_t *pflt, fs->stream.error_string = filter_error_string; fs->stream.flags = flags; - if (!(flags & MU_STREAM_AUTOCLOSE)) - mu_stream_ref (str); + mu_stream_ref (str); fs->transport = str; fs->xcode = xcode; fs->xdata = xdata; diff --git a/libmailutils/stream/prog_stream.c b/libmailutils/stream/prog_stream.c index 03a860fd1..78eb37266 100644 --- a/libmailutils/stream/prog_stream.c +++ b/libmailutils/stream/prog_stream.c @@ -440,7 +440,7 @@ _prog_open (mu_stream_t stream) if (REDIRECT_STDOUT_P (flags)) { rc = mu_stdio_stream_create (&fs->in, pfd[0], - MU_STREAM_READ|MU_STREAM_AUTOCLOSE|seekable_flag); + MU_STREAM_READ|MU_STREAM_FD_AUTOCLOSE|seekable_flag); if (rc) { _prog_close (stream); @@ -451,7 +451,7 @@ _prog_open (mu_stream_t stream) if (REDIRECT_STDIN_P (flags)) { rc = mu_stdio_stream_create (&fs->out, pfd[1], - MU_STREAM_WRITE|MU_STREAM_AUTOCLOSE|seekable_flag); + MU_STREAM_WRITE|MU_STREAM_FD_AUTOCLOSE|seekable_flag); if (rc) { _prog_close (stream); diff --git a/libmailutils/stream/rdcache_stream.c b/libmailutils/stream/rdcache_stream.c index df6e48783..4f4cc7ac3 100644 --- a/libmailutils/stream/rdcache_stream.c +++ b/libmailutils/stream/rdcache_stream.c @@ -188,7 +188,7 @@ mu_rdcache_stream_create (mu_stream_t *pstream, mu_stream_t transport, { struct _mu_rdcache_stream *sp; int rc; - int sflags = MU_STREAM_READ | MU_STREAM_SEEK | (flags & MU_STREAM_AUTOCLOSE); + int sflags = MU_STREAM_READ | MU_STREAM_SEEK; if (flags & ~sflags) return EINVAL; @@ -207,8 +207,7 @@ mu_rdcache_stream_create (mu_stream_t *pstream, mu_stream_t transport, sp->stream.ctl = rdcache_ioctl; sp->stream.wait = rdcache_wait; - if (!(flags & MU_STREAM_AUTOCLOSE)) - mu_stream_ref (transport); + mu_stream_ref (transport); sp->transport = transport; if ((rc = mu_memory_stream_create (&sp->cache, MU_STREAM_RDWR))) diff --git a/libmailutils/stream/socket_stream.c b/libmailutils/stream/socket_stream.c index 825a9daa4..2ff0a7f40 100644 --- a/libmailutils/stream/socket_stream.c +++ b/libmailutils/stream/socket_stream.c @@ -99,7 +99,8 @@ mu_socket_stream_create (mu_stream_t *pstream, const char *filename, int flags) /* Create transport stream. */ rc = _mu_file_stream_create (&fstr, sizeof (*fstr), filename, -1, - (flags | MU_STREAM_AUTOCLOSE) & ~MU_STREAM_SEEK); + (flags | MU_STREAM_FD_AUTOCLOSE) & + ~MU_STREAM_SEEK); if (rc) return rc; fstr->stream.open = _socket_open; diff --git a/libmailutils/stream/streamref.c b/libmailutils/stream/streamref.c index 502cbf534..b524e6b95 100644 --- a/libmailutils/stream/streamref.c +++ b/libmailutils/stream/streamref.c @@ -280,8 +280,7 @@ mu_streamref_create_abridged (mu_stream_t *pref, mu_stream_t str, return rc; mu_stream_get_flags (str, &flags); sp = (struct _mu_streamref *) - _mu_stream_create (sizeof (*sp), - (flags & ~MU_STREAM_AUTOCLOSE) | _MU_STR_OPEN); + _mu_stream_create (sizeof (*sp), flags | _MU_STR_OPEN); if (!sp) return ENOMEM; diff --git a/libmailutils/stream/temp_file_stream.c b/libmailutils/stream/temp_file_stream.c index c1dfacd70..a47a77a0d 100644 --- a/libmailutils/stream/temp_file_stream.c +++ b/libmailutils/stream/temp_file_stream.c @@ -68,7 +68,7 @@ mu_temp_file_stream_create (mu_stream_t *pstream, -1, MU_STREAM_RDWR | MU_STREAM_SEEK | MU_STREAM_CREAT | - MU_STREAM_AUTOCLOSE); + MU_STREAM_FD_AUTOCLOSE); if (rc == 0) { struct _mu_temp_file_stream *tstr = (struct _mu_temp_file_stream *)str; diff --git a/libmailutils/stream/xscript-stream.c b/libmailutils/stream/xscript-stream.c index 578fbeafb..ff0d75c98 100644 --- a/libmailutils/stream/xscript-stream.c +++ b/libmailutils/stream/xscript-stream.c @@ -438,11 +438,9 @@ mu_xscript_stream_create(mu_stream_t *pref, mu_stream_t transport, sp->stream.event_cb = _xscript_event_cb; sp->stream.event_mask = _MU_STR_EVMASK(_MU_STR_EVENT_FILLBUF) | _MU_STR_EVMASK(_MU_STR_EVENT_FLUSHBUF); - if (!(flags & MU_STREAM_AUTOCLOSE)) - { - mu_stream_ref (transport); - mu_stream_ref (logstr); - } + mu_stream_ref (transport); + mu_stream_ref (logstr); + sp->transport = transport; sp->logstr = logstr; diff --git a/libmailutils/tests/fltst.c b/libmailutils/tests/fltst.c index db73e9d78..b63944511 100644 --- a/libmailutils/tests/fltst.c +++ b/libmailutils/tests/fltst.c @@ -148,8 +148,8 @@ main (int argc, char * argv []) MU_ASSERT (mu_filter_create_args (&flt, in, fltname, argc, (const char **)argv, mode, - MU_STREAM_READ|MU_STREAM_SEEK| - MU_STREAM_AUTOCLOSE)); + MU_STREAM_READ|MU_STREAM_SEEK)); + mu_stream_unref (in); if (shift) MU_ASSERT (mu_stream_seek (flt, shift, MU_SEEK_SET, NULL)); c_copy (out, flt); diff --git a/libmu_auth/ldap.c b/libmu_auth/ldap.c index 31fa0268b..859c778a1 100644 --- a/libmu_auth/ldap.c +++ b/libmu_auth/ldap.c @@ -599,8 +599,8 @@ chk_md5 (const char *db_pass, const char *pass) mu_md5_finish_ctx (&md5context, md5digest); mu_static_memory_stream_create (&str, db_pass, strlen (db_pass)); - mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE); + mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, MU_STREAM_READ); + mu_stream_unref (str); mu_stream_read (flt, (char*) d1, sizeof d1, NULL); mu_stream_destroy (&flt); @@ -621,8 +621,8 @@ chk_smd5 (const char *db_pass, const char *pass) size = strlen (db_pass); mu_static_memory_stream_create (&str, db_pass, size); - mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE); + mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, MU_STREAM_READ); + mu_stream_unref (str); d1 = malloc (size); if (!d1) @@ -664,8 +664,8 @@ chk_sha (const char *db_pass, const char *pass) mu_sha1_finish_ctx (&sha1context, sha1digest); mu_static_memory_stream_create (&str, db_pass, strlen (db_pass)); - mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE); + mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, MU_STREAM_READ); + mu_stream_unref (str); mu_stream_read (flt, (char*) d1, sizeof d1, NULL); mu_stream_destroy (&flt); @@ -686,8 +686,8 @@ chk_ssha (const char *db_pass, const char *pass) size = strlen (db_pass); mu_static_memory_stream_create (&str, db_pass, size); - mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE); + mu_filter_create (&flt, str, "base64", MU_FILTER_DECODE, MU_STREAM_READ); + mu_stream_unref (str); d1 = malloc (size); if (!d1) diff --git a/libmu_auth/tls.c b/libmu_auth/tls.c index 80dbf2574..288d3f7fe 100644 --- a/libmu_auth/tls.c +++ b/libmu_auth/tls.c @@ -327,8 +327,7 @@ _mu_tls_io_stream_create (mu_stream_t *pstream, /* FIXME: sp->stream.error_string = _tls_error_string;*/ - if (!(flags & MU_STREAM_AUTOCLOSE)) - mu_stream_ref (transport); + mu_stream_ref (transport); sp->transport = transport; sp->up = master; *pstream = (mu_stream_t) sp; @@ -642,7 +641,6 @@ _mu_tls_stream_create (mu_stream_t *pstream, mu_stream_t strin, mu_stream_t strout, int flags) { struct _mu_tls_stream *sp; - int autoclose = flags & MU_STREAM_AUTOCLOSE; int rc; mu_stream_t stream; @@ -664,16 +662,15 @@ _mu_tls_stream_create (mu_stream_t *pstream, mu_stream_set_buffer (strin, mu_buffer_none, 0); mu_stream_set_buffer (strout, mu_buffer_none, 0); - rc = _mu_tls_io_stream_create (&sp->transport[0], strin, - MU_STREAM_READ | autoclose, sp); + rc = _mu_tls_io_stream_create (&sp->transport[0], strin, MU_STREAM_READ, sp); if (rc) { free (sp); return rc; } - rc = _mu_tls_io_stream_create (&sp->transport[1], strout, - MU_STREAM_WRITE | autoclose, sp); + rc = _mu_tls_io_stream_create (&sp->transport[1], strout, MU_STREAM_WRITE, + sp); if (rc) { free (sp); diff --git a/libmu_sieve/extensions/vacation.c b/libmu_sieve/extensions/vacation.c index ac91fa5ea..6f63f6530 100644 --- a/libmu_sieve/extensions/vacation.c +++ b/libmu_sieve/extensions/vacation.c @@ -75,7 +75,8 @@ build_mime (mu_sieve_machine_t mach, mu_list_t tags, mu_mime_t *pmime, mu_stream_t fstr; rc = mu_filter_create (&fstr, input, "base64", MU_FILTER_ENCODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE); + MU_STREAM_READ); + mu_stream_unref (input); if (rc == 0) { header = "Content-Type: text/plain;charset=" MU_SIEVE_CHARSET "\n" diff --git a/libproto/pop/pop3_stream.c b/libproto/pop/pop3_stream.c index 8ceb4e3b2..e0b927901 100644 --- a/libproto/pop/pop3_stream.c +++ b/libproto/pop/pop3_stream.c @@ -73,7 +73,8 @@ mu_pop3_filter_create (mu_stream_t *pstream, mu_stream_t stream) int rc; rc = mu_filter_create (pstream, stream, "CRLFDOT", MU_FILTER_DECODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE); + MU_STREAM_READ); + mu_stream_unref (stream); if (rc == 0) { struct mu_pop3_stream *sp = (struct mu_pop3_stream *) stream; diff --git a/maidag/lmtp.c b/maidag/lmtp.c index 7ba13777d..9fbabc92b 100644 --- a/maidag/lmtp.c +++ b/maidag/lmtp.c @@ -580,7 +580,7 @@ lmtp_connection (int fd, struct sockaddr *sa, int salen, void *data, int rc; rc = mu_fd_stream_create (&str, NULL, fd, - MU_STREAM_RDWR|MU_STREAM_AUTOCLOSE); + MU_STREAM_RDWR | MU_STREAM_FD_AUTOCLOSE); if (rc) { mu_diag_funcall (MU_DIAG_ERROR, "mu_fd_stream_create", NULL, rc); diff --git a/mail/decode.c b/mail/decode.c index f3497b1a0..699c464e8 100644 --- a/mail/decode.c +++ b/mail/decode.c @@ -260,8 +260,11 @@ display_submessage (struct mime_descend_closure *closure, void *data) /* Can we decode. */ if (mu_filter_create (&d_stream, b_stream, closure->encoding, MU_FILTER_DECODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE) == 0) - stream = d_stream; + MU_STREAM_READ) == 0) + { + mu_stream_unref (b_stream); + stream = d_stream; + } else stream = b_stream; @@ -2498,13 +2498,13 @@ edit_mime (char *cmd, struct compose_env *env, mu_message_t *msg, int level) free (subtype); } - rc = mu_filter_create (&fstr, in, encoding, MU_FILTER_ENCODE, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE); + rc = mu_filter_create (&fstr, in, encoding, MU_FILTER_ENCODE, MU_STREAM_READ); if (rc) { fstr = in; - in = NULL; + mu_stream_ref (in); } + mu_stream_unref (in); free (encoding); mu_message_get_body (*msg, &body); diff --git a/pop3d/extra.c b/pop3d/extra.c index 1508e9b55..ed406dc0e 100644 --- a/pop3d/extra.c +++ b/pop3d/extra.c @@ -135,12 +135,12 @@ pop3d_setio (int ifd, int ofd) pop3d_abquit (ERR_NO_OFILE); if (mu_stdio_stream_create (&istream, ifd, - MU_STREAM_READ | MU_STREAM_AUTOCLOSE)) + MU_STREAM_READ | MU_STREAM_FD_AUTOCLOSE)) pop3d_abquit (ERR_NO_IFILE); mu_stream_set_buffer (istream, mu_buffer_line, 0); if (mu_stdio_stream_create (&ostream, ofd, - MU_STREAM_WRITE | MU_STREAM_AUTOCLOSE)) + MU_STREAM_WRITE | MU_STREAM_FD_AUTOCLOSE)) pop3d_abquit (ERR_NO_OFILE); /* Combine the two streams into an I/O one. */ |