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