• Home
  • Raw
  • Download

Lines Matching refs:b

157 static bool fill_temp(struct xz_dec *s, struct xz_buf *b)  in fill_temp()  argument
160 b->in_size - b->in_pos, s->temp.size - s->temp.pos); in fill_temp()
162 memcpy(s->temp.buf + s->temp.pos, b->in + b->in_pos, copy_size); in fill_temp()
163 b->in_pos += copy_size; in fill_temp()
218 static enum xz_ret dec_block(struct xz_dec *s, struct xz_buf *b) in dec_block() argument
222 s->in_start = b->in_pos; in dec_block()
223 s->out_start = b->out_pos; in dec_block()
227 ret = xz_dec_bcj_run(s->bcj, s->lzma2, b); in dec_block()
230 ret = xz_dec_lzma2_run(s->lzma2, b); in dec_block()
232 s->block.compressed += b->in_pos - s->in_start; in dec_block()
233 s->block.uncompressed += b->out_pos - s->out_start; in dec_block()
245 s->crc32 = xz_crc32(b->out + s->out_start, in dec_block()
246 b->out_pos - s->out_start, s->crc32); in dec_block()
281 static void index_update(struct xz_dec *s, const struct xz_buf *b) in index_update() argument
283 size_t in_used = b->in_pos - s->in_start; in index_update()
285 s->crc32 = xz_crc32(b->in + s->in_start, in_used, s->crc32); in index_update()
296 static enum xz_ret dec_index(struct xz_dec *s, struct xz_buf *b) in dec_index() argument
301 ret = dec_vli(s, b->in, &b->in_pos, b->in_size); in dec_index()
303 index_update(s, b); in dec_index()
346 static enum xz_ret crc32_validate(struct xz_dec *s, struct xz_buf *b) in crc32_validate() argument
349 if (b->in_pos == b->in_size) in crc32_validate()
352 if (((s->crc32 >> s->pos) & 0xFF) != b->in[b->in_pos++]) in crc32_validate()
370 static bool check_skip(struct xz_dec *s, struct xz_buf *b) in check_skip() argument
373 if (b->in_pos == b->in_size) in check_skip()
376 ++b->in_pos; in check_skip()
549 static enum xz_ret dec_main(struct xz_dec *s, struct xz_buf *b) in dec_main() argument
557 s->in_start = b->in_pos; in dec_main()
570 if (!fill_temp(s, b)) in dec_main()
590 if (b->in_pos == b->in_size) in dec_main()
594 if (b->in[b->in_pos] == 0) { in dec_main()
595 s->in_start = b->in_pos++; in dec_main()
605 = ((uint32_t)b->in[b->in_pos] + 1) * 4; in dec_main()
614 if (!fill_temp(s, b)) in dec_main()
626 ret = dec_block(s, b); in dec_main()
643 if (b->in_pos == b->in_size) in dec_main()
646 if (b->in[b->in_pos++] != 0) in dec_main()
658 ret = crc32_validate(s, b); in dec_main()
663 else if (!check_skip(s, b)) { in dec_main()
672 ret = dec_index(s, b); in dec_main()
681 while ((s->index.size + (b->in_pos - s->in_start)) in dec_main()
683 if (b->in_pos == b->in_size) { in dec_main()
684 index_update(s, b); in dec_main()
688 if (b->in[b->in_pos++] != 0) in dec_main()
693 index_update(s, b); in dec_main()
705 ret = crc32_validate(s, b); in dec_main()
715 if (!fill_temp(s, b)) in dec_main()
750 XZ_EXTERN enum xz_ret xz_dec_run(struct xz_dec *s, struct xz_buf *b) in xz_dec_run() argument
759 in_start = b->in_pos; in xz_dec_run()
760 out_start = b->out_pos; in xz_dec_run()
761 ret = dec_main(s, b); in xz_dec_run()
765 ret = b->in_pos == b->in_size in xz_dec_run()
769 b->in_pos = in_start; in xz_dec_run()
770 b->out_pos = out_start; in xz_dec_run()
773 } else if (ret == XZ_OK && in_start == b->in_pos in xz_dec_run()
774 && out_start == b->out_pos) { in xz_dec_run()