Fix bug when gzungetc() is used immediately after gzopen().
diff --git a/gzread.c b/gzread.c
index 6034a28..4168cbc 100644
--- a/gzread.c
+++ b/gzread.c
@@ -443,6 +443,10 @@
         return -1;
     state = (gz_statep)file;
 
+    /* in case this was just opened, set up the input buffer */
+    if (state->mode == GZ_READ && state->how == LOOK && state->x.have == 0)
+        (void)gz_look(state);
+
     /* check that we're reading and that there's no (serious) error */
     if (state->mode != GZ_READ ||
         (state->err != Z_OK && state->err != Z_BUF_ERROR))