Have gzputc return the character written instead of the argument.

When successful, gzputc would return the second argument.  If the
second argument were -1, gzputc would return -1 instead of the
character written, which was 255.  However the -1 would not be
distinguishable from an error.  Now gzputc returns 255 in that
case.
diff --git a/gzwrite.c b/gzwrite.c
index 18ade4a..c48c906 100644
--- a/gzwrite.c
+++ b/gzwrite.c
@@ -272,14 +272,14 @@
             strm->next_in = state->in;
         strm->next_in[strm->avail_in++] = c;
         state->x.pos++;
-        return c;
+        return c & 0xff;
     }
 
     /* no room in buffer or not initialized, use gz_write() */
     buf[0] = c;
     if (gzwrite(file, buf, 1) != 1)
         return -1;
-    return c;
+    return c & 0xff;
 }
 
 /* -- see zlib.h -- */