character at a time?
That's exactly what you need to do. gzgetc() is a function that calls
gzread() to get one byte, and so is much, much slower than using
gzread() on large chunks of data.
Not currently. It should be quite easy for the user, you, to provide
that speed using gzread() with large buffers and your own macro to
access what was read a byte at a time, if that's what you need. (I
recommend 128K or 256K output buffers for the best speed.) To provide
that efficiency in zlib, I would need to provide internal buffering for
the gz* functions, which is not currently there, and the guts of the
gzFile structure would need to be exposed to the application, which has
other issues in terms of maintaining interface compatibility across
versions of zlib. I may tackle this someday, but it's not high on my