FLUSH_BLOCK(s, 0);
return block_done;
}
+
+#ifdef DEBUG
+/* ===========================================================================
+ * Send a value on a given number of bits.
+ * IN assertion: length <= 16 and value fits in length bits.
+ */
+void send_bits(deflate_state *s, int value, int length) {
+ Tracevv((stderr, " l %2d v %4x ", length, value));
+ Assert(length > 0 && length <= 15, "invalid length");
+ s->bits_sent += (unsigned long)length;
+
+ /* If not enough room in bi_buf, use (valid) bits from bi_buf and
+ * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
+ * unused bits in value.
+ */
+ if (s->bi_valid > (int)Buf_size - length) {
+ s->bi_buf |= (uint16_t)value << s->bi_valid;
+ put_short(s, s->bi_buf);
+ s->bi_buf = (uint16_t)value >> (Buf_size - s->bi_valid);
+ s->bi_valid += length - Buf_size;
+ } else {
+ s->bi_buf |= (uint16_t)value << s->bi_valid;
+ s->bi_valid += length;
+ }
+}
+#endif
#endif
#ifdef DEBUG
-/* ===========================================================================
- * Send a value on a given number of bits.
- * IN assertion: length <= 16 and value fits in length bits.
- */
-local void send_bits(deflate_state *s, int value, int length) {
- Tracevv((stderr, " l %2d v %4x ", length, value));
- Assert(length > 0 && length <= 15, "invalid length");
- s->bits_sent += (unsigned long)length;
-
- /* If not enough room in bi_buf, use (valid) bits from bi_buf and
- * (16 - bi_valid) bits from value, leaving (width - (16-bi_valid))
- * unused bits in value.
- */
- if (s->bi_valid > (int)Buf_size - length) {
- s->bi_buf |= (uint16_t)value << s->bi_valid;
- put_short(s, s->bi_buf);
- s->bi_buf = (uint16_t)value >> (Buf_size - s->bi_valid);
- s->bi_valid += length - Buf_size;
- } else {
- s->bi_buf |= (uint16_t)value << s->bi_valid;
- s->bi_valid += length;
- }
-}
+void send_bits(deflate_state *s, int value, int length);
#else
#define send_bits(s, value, length) \
{ int len = length;\