Implement I/O abstraction layer. Finally.
diff --git a/man/zip_source_function.mdoc b/man/zip_source_function.mdoc
index ae00975..4c52e72 100644
--- a/man/zip_source_function.mdoc
+++ b/man/zip_source_function.mdoc
@@ -29,7 +29,7 @@
.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd August 2, 2014
+.Dd August 11, 2014
.Dt ZIP_SOURCE_FUNCTION 3
.Os
.Sh NAME
@@ -52,6 +52,10 @@
void *data, zip_uint64_t len, enum zip_source_cmd cmd);
.Ed
.Pp
+.Ar archive
+is used for reporting errors and can be
+.Dv NULL .
+.Pp
When called by the library, the first argument is the
.Ar userdata
argument supplied to
@@ -142,7 +146,10 @@
.Dv NULL
is returned and the error code in
.Ar archive
-is set to indicate the error.
+is set to indicate the error (unless
+.Ar archive
+is
+.Dv NULL ) .
.Sh ERRORS
.Fn zip_source_function
fails if: