about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--gzeof.349
2 files changed, 50 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 14a3455..b6f4fd4 100644
--- a/Makefile
+++ b/Makefile
@@ -19,6 +19,7 @@ MAN += deflateSetDictionary.3
 MAN += deflateSetHeader.3
 MAN += deflateTune.3
 MAN += gzbuffer.3
+MAN += gzeof.3
 MAN += gzflush.3
 MAN += gzfread.3
 MAN += gzfwrite.3
diff --git a/gzeof.3 b/gzeof.3
new file mode 100644
index 0000000..638fdcb
--- /dev/null
+++ b/gzeof.3
@@ -0,0 +1,49 @@
+.Dd November 13, 2018
+.Dt GZEOF 3
+.Os
+.
+.Sh NAME
+.Nm gzeof
+.Nd check end-of-file indicator
+.
+.Sh LIBRARY
+.Lb libz
+.
+.Sh SYNOPSIS
+.In zlib.h
+.Ft int
+.Fn gzeof "gzFile file"
+.
+.Sh DESCRIPTION
+Returns true (1)
+if the end-of-file indicator
+has been set while reading,
+false (0) otherwise.
+Note that the end-of-file indicator
+is set only if the read
+tried to go past the end of the input,
+but came up short.
+Therefore,
+just like
+.Xr feof 3 ,
+.Fn gzeof
+may return false
+even if there is no more data to read,
+in the event that the last read request
+was for the exact number of bytes
+remaining in the input file.
+This will happen if the input file size
+is an exact multiple of the buffer size.
+.
+.Pp
+If
+.Fn gzeof
+returns true,
+then the read functions
+will return no more data,
+unless the end-of-file indicator
+is reset by
+.Xr gzclearerr 3
+and the input file
+has grown since the previous
+end of file was detected.