dovecot-2.2: When creating istream-error, give an error string w...

dovecot at dovecot.org dovecot at dovecot.org
Fri Jul 4 10:18:29 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/82c9a9b7e6e6
changeset: 17597:82c9a9b7e6e6
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Jul 04 13:16:59 2014 +0300
description:
When creating istream-error, give an error string whenever possible.

diffstat:

 src/lib-fs/fs-posix.c               |  2 +-
 src/lib-imap-storage/imap-msgpart.c |  2 +-
 src/lib/iostream-temp.c             |  2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diffs (36 lines):

diff -r 9f482e0fc965 -r 82c9a9b7e6e6 src/lib-fs/fs-posix.c
--- a/src/lib-fs/fs-posix.c	Fri Jul 04 13:16:01 2014 +0300
+++ b/src/lib-fs/fs-posix.c	Fri Jul 04 13:16:59 2014 +0300
@@ -349,7 +349,7 @@
 	struct istream *input;
 
 	if (file->fd == -1 && fs_posix_open(file) < 0)
-		input = i_stream_create_error(errno);
+		input = i_stream_create_error_str(errno, "%s", fs_last_error(_file->fs));
 	else
 		input = i_stream_create_fd(file->fd, max_buffer_size, FALSE);
 	i_stream_set_name(input, _file->path);
diff -r 9f482e0fc965 -r 82c9a9b7e6e6 src/lib-imap-storage/imap-msgpart.c
--- a/src/lib-imap-storage/imap-msgpart.c	Fri Jul 04 13:16:01 2014 +0300
+++ b/src/lib-imap-storage/imap-msgpart.c	Fri Jul 04 13:16:59 2014 +0300
@@ -400,7 +400,7 @@
 		virtual_skip -= cache->virtual_pos;
 	}
 	if (message_skip_virtual(input, virtual_skip, &cr_skipped) < 0) {
-		errinput = i_stream_create_error(errno);
+		errinput = i_stream_create_error_str(errno, "%s", i_stream_get_error(input));
 		i_stream_set_name(errinput, i_stream_get_name(input));
 		i_stream_unref(&input);
 		return errinput;
diff -r 9f482e0fc965 -r 82c9a9b7e6e6 src/lib/iostream-temp.c
--- a/src/lib/iostream-temp.c	Fri Jul 04 13:16:01 2014 +0300
+++ b/src/lib/iostream-temp.c	Fri Jul 04 13:16:59 2014 +0300
@@ -255,7 +255,7 @@
 			tstream->dupstream_start_offset;
 		fd = dup(i_stream_get_fd(tstream->dupstream));
 		if (fd == -1)
-			input = i_stream_create_error(errno);
+			input = i_stream_create_error_str(errno, "dup() failed: %m");
 		else {
 			input2 = i_stream_create_fd_autoclose(&fd, max_buffer_size);
 			i_stream_seek(input2, abs_offset);


More information about the dovecot-cvs mailing list