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: