dest->readable_fd = source->readable_fd;
}
+void i_stream_set_error(struct istream *stream, int stream_errno,
+ const char *fmt, ...)
+{
+ va_list args;
+
+ va_start(args, fmt);
+ stream->stream_errno = stream_errno;
+ io_stream_set_verror(&stream->real_stream->iostream, fmt, args);
+ va_end(args);
+}
+
const char *i_stream_get_error(struct istream *stream)
{
struct istream *s;
The readable_fd is preserved. Assert-crashes if source doesn't have a
file descriptor. */
void i_stream_copy_fd(struct istream *dest, struct istream *source);
+/* Set error for istream. */
+void i_stream_set_error(struct istream *stream, int stream_errno,
+ const char *fmt, ...) ATTR_FORMAT(3, 4);
/* Returns error string for the last error. It also returns "EOF" in case there
is no error, but eof is set. Otherwise it returns "<no error>". */
const char *i_stream_get_error(struct istream *stream);