summaryrefslogtreecommitdiff
path: root/libmailutils
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2010-12-09 14:28:37 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2010-12-10 10:27:05 +0200
commit841fc4842ae81579edab2a7752b0347944575d2c (patch)
treeb2c32db83aac13618a86db459e5fff81c6d06e9b /libmailutils
parent8f8d9036cc943e4884b21ad050a1d443e102e47e (diff)
downloadmailutils-841fc4842ae81579edab2a7752b0347944575d2c.tar.gz
mailutils-841fc4842ae81579edab2a7752b0347944575d2c.tar.bz2
Remove MU_STREAM_AUTOCLOSE flag. Use mu_stream_unref, if necessary.
* examples/mta.c: Use MU_STREAM_FD_AUTOCLOSE. * imap4d/io.c: Likewise. * libmailutils/stream/file_stream.c: Likewise. * libmailutils/stream/prog_stream.c: Likewise. * libmailutils/stream/socket_stream.c: Likewise. * libmailutils/stream/temp_file_stream.c: Likewise. * maidag/lmtp.c: Likewise. * pop3d/extra.c: Likewise. * imap4d/preauth.c: Do not use MU_STREAM_AUTOCLOSE. Instead unref the transport stream after creating the derived one. * libmailutils/base/rfc2047.c: Likewise. * libmailutils/stream/fltstream.c: Likewise. * libmailutils/tests/fltst.c: Likewise. * libmu_auth/ldap.c: Likewise. * libmu_auth/tls.c: Likewise. * libmu_sieve/extensions/vacation.c: Likewise. * libproto/pop/pop3_stream.c: Likewise. * mail/decode.c: Likewise. * mh/mhn.c: Likewise. * libmailutils/filter/filter_iconv.c: Do not handle MU_STREAM_AUTOCLOSE. * libmailutils/stream/rdcache_stream.c: Likewise. * libmailutils/stream/streamref.c: Likewise. * libmailutils/stream/xscript-stream.c: Likewise. * include/mailutils/stream.h (MU_STREAM_AUTOCLOSE): Rename to MU_STREAM_FD_AUTOCLOSE.
Diffstat (limited to 'libmailutils')
-rw-r--r--libmailutils/base/rfc2047.c4
-rw-r--r--libmailutils/filter/filter_iconv.c3
-rw-r--r--libmailutils/stream/file_stream.c7
-rw-r--r--libmailutils/stream/fltstream.c3
-rw-r--r--libmailutils/stream/prog_stream.c4
-rw-r--r--libmailutils/stream/rdcache_stream.c5
-rw-r--r--libmailutils/stream/socket_stream.c3
-rw-r--r--libmailutils/stream/streamref.c3
-rw-r--r--libmailutils/stream/temp_file_stream.c2
-rw-r--r--libmailutils/stream/xscript-stream.c8
-rw-r--r--libmailutils/tests/fltst.c4
11 files changed, 21 insertions, 25 deletions
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);

Return to:

Send suggestions and report system problems to the System administrator.