gzip: use "unsigned" type for bit fields and bit counts
authorDenys Vlasenko <vda.linux@googlemail.com>
Tue, 30 Jan 2018 22:53:38 +0000 (23:53 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Tue, 30 Jan 2018 22:53:38 +0000 (23:53 +0100)
This does not change any logic, those values should always be positive.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
archival/gzip.c

index 4a3fe976a92fc181c7fecb7171907aefd0538993..f253a217a4b4db489e08779f9f6e447dc7213f61 100644 (file)
@@ -363,7 +363,7 @@ struct globals {
 /* Number of bits used within bi_buf. (bi_buf might be implemented on
  * more than 16 bits on some systems.)
  */
-       int bi_valid;
+       unsigned bi_valid;
 
 #ifdef DEBUG
        ulg bits_sent;  /* bit length of the compressed data */
@@ -520,10 +520,10 @@ static unsigned file_read(void *buf, unsigned size)
  * Send a value on a given number of bits.
  * IN assertion: length <= 16 and value fits in length bits.
  */
-static void send_bits(int value, int length)
+static void send_bits(unsigned value, unsigned length)
 {
        unsigned new_buf;
-       int remain;
+       unsigned remain;
 
 #ifdef DEBUG
        Tracev((stderr, " l %2d v %4x ", length, value));
@@ -548,7 +548,7 @@ static void send_bits(int value, int length)
                } else { /* 16 */
                        put_16bit(new_buf);
                }
-               new_buf = (unsigned) value >> remain;
+               new_buf = value >> remain;
                length -= BUF_SIZE;
        }
        G1.bi_buf = new_buf;