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