diff --git a/gzwrite.c b/gzwrite.c
index 26e89b6..5238133 100644
--- a/gzwrite.c
+++ b/gzwrite.c
@@ -349,9 +349,9 @@
 }
 
 /* -- see zlib.h -- */
-int ZEXPORT gzputs(file, str)
+int ZEXPORT gzputs(file, s)
     gzFile file;
-    const char *str;
+    const char *s;
 {
     z_size_t len, put;
     gz_statep state;
@@ -366,12 +366,12 @@
         return -1;
 
     /* write string */
-    len = strlen(str);
+    len = strlen(s);
     if ((int)len < 0 || (unsigned)len != len) {
         gz_error(state, Z_STREAM_ERROR, "string length does not fit in int");
         return -1;
     }
-    put = gz_write(state, str, len);
+    put = gz_write(state, s, len);
     return put < len ? -1 : (int)len;
 }
 
diff --git a/trees.c b/trees.c
index 1321548..4f4a650 100644
--- a/trees.c
+++ b/trees.c
@@ -149,7 +149,7 @@
 local void compress_block OF((deflate_state *s, const ct_data *ltree,
                               const ct_data *dtree));
 local int  detect_data_type OF((deflate_state *s));
-local unsigned bi_reverse OF((unsigned value, int length));
+local unsigned bi_reverse OF((unsigned code, int len));
 local void bi_windup      OF((deflate_state *s));
 local void bi_flush       OF((deflate_state *s));
 
diff --git a/zlib.h b/zlib.h
index 577d81e..ddd0b47 100644
--- a/zlib.h
+++ b/zlib.h
@@ -1740,7 +1740,7 @@
      if (crc != original_crc) error();
 */
 
-ZEXTERN uLong ZEXPORT crc32_z OF((uLong adler, const Bytef *buf,
+ZEXTERN uLong ZEXPORT crc32_z OF((uLong crc, const Bytef *buf,
                                   z_size_t len));
 /*
      Same as crc32(), but with a size_t length.
