gz_read
len = (unsigned)gz_read(state, buf, len);
return len ? gz_read(state, buf, len) / size : 0;
return gz_read(state, buf, 1) < 1 ? -1 : buf[0];