From 0e65dc9c8a938fde37dea36d5e17dc7ea522d24f Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Fri, 6 May 2016 14:34:57 +0300 Subject: [PATCH] lib: Added i_stream_get_disconnect_reason() --- src/lib/istream.c | 5 +++++ src/lib/istream.h | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/src/lib/istream.c b/src/lib/istream.c index 2d70a230db..d525c8b770 100644 --- a/src/lib/istream.c +++ b/src/lib/istream.c @@ -97,6 +97,11 @@ const char *i_stream_get_error(struct istream *stream) return strerror(stream->stream_errno); } +const char *i_stream_get_disconnect_reason(struct istream *stream) +{ + return io_stream_get_disconnect_reason(stream, NULL); +} + void i_stream_close(struct istream *stream) { i_stream_close_full(stream, TRUE); diff --git a/src/lib/istream.h b/src/lib/istream.h index 0c96e98967..025afd0f54 100644 --- a/src/lib/istream.h +++ b/src/lib/istream.h @@ -77,6 +77,10 @@ int i_stream_get_fd(struct istream *stream); /* Returns error string for the last error. It also returns "EOF" in case there is no error, but eof is set. Otherwise it returns "". */ const char *i_stream_get_error(struct istream *stream); +/* Returns human-readable reason for why istream was disconnected. This can be + called to log the error when i_stream_read() returns -1. If there's an error + the output is identical to i_stream_get_error(). */ +const char *i_stream_get_disconnect_reason(struct istream *stream); /* Mark the stream and all of its parent streams closed. Any reads after this will return -1. The data already read can still be used. */ -- 2.47.3