(s, value, length)
| 185 | local void send_bits OF((deflate_state *s, int value, int length)); |
| 186 | |
| 187 | local void send_bits(s, value, length) |
| 188 | deflate_state *s; |
| 189 | int value; /* value to send */ |
| 190 | int length; /* number of bits */ |
| 191 | { |
| 192 | Tracevv((stderr," l %2d v %4x ", length, value)); |
| 193 | Assert(length > 0 && length <= 15, "invalid length"); |
| 194 | s->bits_sent += (ulg)length; |
| 195 | |
| 196 | /* If not enough room in bi_buf, use (valid) bits from bi_buf and |
| 197 | * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid)) |
| 198 | * unused bits in value. |
| 199 | */ |
| 200 | if (s->bi_valid > (int)Buf_size - length) { |
| 201 | s->bi_buf |= (ush)value << s->bi_valid; |
| 202 | put_short(s, s->bi_buf); |
| 203 | s->bi_buf = (ush)value >> (Buf_size - s->bi_valid); |
| 204 | s->bi_valid += length - Buf_size; |
| 205 | } else { |
| 206 | s->bi_buf |= (ush)value << s->bi_valid; |
| 207 | s->bi_valid += length; |
| 208 | } |
| 209 | } |
| 210 | #else /* !ZLIB_DEBUG */ |
| 211 | |
| 212 | #define send_bits(s, value, length) \ |
no outgoing calls
no test coverage detected