From 510d1f042a94b5435d1e514a452a9fa193eb2d9e Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Tue, 13 Nov 2018 15:07:58 -0500 Subject: Add gzprintf.3 --- Makefile | 1 + gzprintf.3 | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 gzprintf.3 diff --git a/Makefile b/Makefile index dd0e2a9..92f2e6d 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,7 @@ MAN += gzbuffer.3 MAN += gzfread.3 MAN += gzfwrite.3 MAN += gzopen.3 +MAN += gzprintf.3 MAN += gzread.3 MAN += gzsetparams.3 MAN += gzwrite.3 diff --git a/gzprintf.3 b/gzprintf.3 new file mode 100644 index 0000000..3435a53 --- /dev/null +++ b/gzprintf.3 @@ -0,0 +1,56 @@ +.Dd November 13, 2018 +.Dt GZPRINTF 3 +.Os +. +.Sh NAME +.Nm gzprintf +.Nd format output to compressed file +. +.Sh LIBRARY +.Lb libz +. +.Sh SYNOPSIS +.In zlib.h +.Ft int +.Fn gzprintf "gzFile file" "const char *format" "..." +. +.Sh DESCRIPTION +Converts, formats, and writes the arguments +to the compressed file +under control of the format string, +as in +.Xr fprintf 3 . +. +.Sh RETURN VALUES +.Fn gzprintf +returns the number of +uncompressed bytes actually written, +or a negative zlib error code +in case of error. +The number of uncompressed bytes written +is limited to 8191, +or one less than the buffer size given to +.Xr gzbuffer 3 . +The caller should assure that +this limit is not exceeded. +If it is exceeded, +then +.Fn gzprintf +will return an error (0) +with nothing written. +In this case, +there may also be a buffer overflow +with unpredictable consequences, +which is possibly only if zlib +was compiled with the insecure functions +.Xr sprintf 3 +or +.Xr vsprintf 3 +because the secure +.Xr snprintf 3 +or +.Xr vsnprintf 3 +functions +were not available. +This can be determined using +.Xr zlibCompileFlags 3 . -- cgit 1.4.1