gzerror
ZEXTERN const char * ZEXPORT gzerror(gzFile file, int *errnum);
fprintf(stderr, "gzputs err: %s\n", gzerror(file, &err));
fprintf(stderr, "gzprintf err: %s\n", gzerror(file, &err));
fprintf(stderr, "gzread err: %s\n", gzerror(file, &err));
fprintf(stderr, "gzgets err after gzseek: %s\n", gzerror(file, &err));
if (len != (int)buf_len) error(gzerror(out, &err));
if (gzwrite(out, buf, (unsigned)len) != len) error(gzerror(out, &err));
if (len < 0) error (gzerror(in, &err));
ZEXTERN const char * ZEXPORT gzerror(gzFile file, int *errnum);
gzerrstr = gzerror(f, &gzerr);
(void)gzerror(gz, &gzerrnum);
errstr = gzerror(fp, &errnum);
errstr = gzerror(fp, &errnum);