Commit Diff


commit - 5df08a015133e9aabd7500cd3a043b7ae6b78471
commit + 893f7eed87919d0f7f4e3865207d4fe9556e7ea9
blob - 5d5feabf444f8db8fb1600076dd975bd0525e748
blob + 8e0ac38c4dead828f48cf452d7c18e89ffc5de66
--- web/bufio.c
+++ web/bufio.c
@@ -387,6 +387,17 @@ bufio_write(struct bufio *bio)
 	return (w);
 }
 
+const char *
+bufio_io_err(struct bufio *bio)
+{
+#ifndef BUFIO_WITHOUT_TLS
+	if (bio->ctx)
+		return tls_error(bio->ctx);
+#endif
+
+	return strerror(errno);
+}
+
 static int
 bufio_append(struct bufio *bio, const void *d, size_t len)
 {
blob - ecf871540bcbf5cbd0fefa6db9ac4c23029fb3b6
blob + 178a612f458921f953e04538323aab076ff136fd
--- web/bufio.h
+++ web/bufio.h
@@ -70,6 +70,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 *, ...)