MCPcopy Create free account
hub / github.com/F-Stack/f-stack / send_bits

Function send_bits

freebsd/contrib/zlib/trees.c:186–208  ·  view source on GitHub ↗
(s, value, length)

Source from the content-addressed store, hash-verified

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

Callers 6

send_treeFunction · 0.85
send_all_treesFunction · 0.85
_tr_stored_blockFunction · 0.85
_tr_alignFunction · 0.85
trees.cFile · 0.85
compress_blockFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected