Commit Diff


commit - 0b756e42eb6e535b419ecee31b6061c0376168fd
commit + 8b846311dc6feb29cf4b1d627ee2cc4dd8eca01f
blob - 16ca04f23400935ca54a08f28c7f4483661ea1f0
blob + db9f52b147750fa4027f852fcaa7194383e4094a
--- bufio.c
+++ bufio.c
@@ -346,6 +346,15 @@ bufio_write(struct bufio *bio)
 	return (w);
 }
 
+const char *
+bufio_io_err(struct bufio *bio)
+{
+	if (bio->ctx)
+		return tls_error(bio->ctx);
+
+	return strerror(errno);
+}
+
 int
 bufio_compose(struct bufio *bio, const void *d, size_t len)
 {
blob - d7e49085b93b3d9e161cb321d90e3cfbfe37f37e
blob + db40d63bd0dbd1be3038c0938a004eebf8986f09
--- bufio.h
+++ bufio.h
@@ -63,6 +63,7 @@ int	bufio_handshake(struct bufio *);
 ssize_t	bufio_read(struct bufio *);
 size_t	bufio_drain(struct bufio *, void *, size_t);
 ssize_t	bufio_write(struct bufio *);
+const char *bufio_io_err(struct bufio *);
 int	bufio_compose(struct bufio *, const void *, size_t);
 int	bufio_compose_str(struct bufio *, const char *);
 int	bufio_compose_fmt(struct bufio *, const char *, ...)