Lines Matching refs:s

45       "This is a bug in bzip2/libbzip2, %s.\n"
48 "component, you should also report this bug to the author(s)\n"
144 panic("bzip2 internal error: %s\n", BZ2_bzErrorString(errcode));
197 void prepare_new_block ( EState* s )
200 s->nblock = 0;
201 s->numZ = 0;
202 s->state_out_pos = 0;
203 BZ_INITIALISE_CRC ( s->blockCRC );
204 for (i = 0; i < 256; i++) s->inUse[i] = False;
205 s->blockNo++;
211 void init_RL ( EState* s )
213 s->state_in_ch = 256;
214 s->state_in_len = 0;
219 Bool isempty_RL ( EState* s )
221 if (s->state_in_ch < 256 && s->state_in_len > 0)
235 EState* s;
248 s = BZALLOC( sizeof(EState) );
249 if (s == NULL) return BZ_MEM_ERROR;
250 s->strm = strm;
252 s->arr1 = NULL;
253 s->arr2 = NULL;
254 s->ftab = NULL;
257 s->arr1 = BZALLOC( n * sizeof(UInt32) );
258 s->arr2 = BZALLOC( (n+BZ_N_OVERSHOOT) * sizeof(UInt32) );
259 s->ftab = BZALLOC( 65537 * sizeof(UInt32) );
261 if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) {
262 if (s->arr1 != NULL) BZFREE(s->arr1);
263 if (s->arr2 != NULL) BZFREE(s->arr2);
264 if (s->ftab != NULL) BZFREE(s->ftab);
265 if (s != NULL) BZFREE(s);
269 s->blockNo = 0;
270 s->state = BZ_S_INPUT;
271 s->mode = BZ_M_RUNNING;
272 s->combinedCRC = 0;
273 s->blockSize100k = blockSize100k;
274 s->nblockMAX = 100000 * blockSize100k - 19;
275 s->verbosity = verbosity;
276 s->workFactor = workFactor;
278 s->block = (UChar*)s->arr2;
279 s->mtfv = (UInt16*)s->arr1;
280 s->zbits = NULL;
281 s->ptr = (UInt32*)s->arr1;
283 strm->state = s;
288 init_RL ( s );
289 prepare_new_block ( s );
321 EState* s = strm->state;
325 if (s == NULL) return BZ_MEM_ERROR;
326 s->strm = strm;
328 s->blockNo = 0;
329 s->state = BZ_S_INPUT;
330 s->mode = BZ_M_RUNNING;
331 s->combinedCRC = 0;
332 s->nblockMAX = 100000 * s->blockSize100k - 19;
334 s->block = (UChar*)s->arr2;
335 s->mtfv = (UInt16*)s->arr1;
336 s->zbits = NULL;
337 s->ptr = (UInt32*)s->arr1;
339 strm->state = s;
344 init_RL ( s );
345 prepare_new_block ( s );
351 DState* s = strm->state;
357 s->strm = strm;
359 s->state = BZ_X_MAGIC_1;
360 s->bsLive = 0;
361 s->bsBuff = 0;
362 s->calculatedCombinedCRC = 0;
368 s->ll4 = NULL;
369 s->ll16 = NULL;
370 s->tt = NULL;
371 s->currBlockNo = 0;
380 void add_pair_to_block ( EState* s )
383 UChar ch = (UChar)(s->state_in_ch);
384 for (i = 0; i < s->state_in_len; i++) {
385 BZ_UPDATE_CRC( s->blockCRC, ch );
387 s->inUse[s->state_in_ch] = True;
388 switch (s->state_in_len) {
390 s->block[s->nblock] = (UChar)ch; s->nblock++;
393 s->block[s->nblock] = (UChar)ch; s->nblock++;
394 s->block[s->nblock] = (UChar)ch; s->nblock++;
397 s->block[s->nblock] = (UChar)ch; s->nblock++;
398 s->block[s->nblock] = (UChar)ch; s->nblock++;
399 s->block[s->nblock] = (UChar)ch; s->nblock++;
402 s->inUse[s->state_in_len-4] = True;
403 s->block[s->nblock] = (UChar)ch; s->nblock++;
404 s->block[s->nblock] = (UChar)ch; s->nblock++;
405 s->block[s->nblock] = (UChar)ch; s->nblock++;
406 s->block[s->nblock] = (UChar)ch; s->nblock++;
407 s->block[s->nblock] = ((UChar)(s->state_in_len-4));
408 s->nblock++;
416 void flush_RL ( EState* s )
418 if (s->state_in_ch < 256) add_pair_to_block ( s );
419 init_RL ( s );
453 Bool copy_input_until_stop ( EState* s )
457 if (s->mode == BZ_M_RUNNING) {
462 if (s->nblock >= s->nblockMAX) break;
464 if (s->strm->avail_in == 0) break;
466 ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
467 s->strm->next_in++;
468 s->strm->avail_in--;
469 s->strm->total_in_lo32++;
470 if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
478 if (s->nblock >= s->nblockMAX) break;
480 if (s->strm->avail_in == 0) break;
482 if (s->avail_in_expect == 0) break;
484 ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) );
485 s->strm->next_in++;
486 s->strm->avail_in--;
487 s->strm->total_in_lo32++;
488 if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++;
489 s->avail_in_expect--;
498 Bool copy_output_until_stop ( EState* s )
505 if (s->strm->avail_out == 0) break;
508 if (s->state_out_pos >= s->numZ) break;
511 *(s->strm->next_out) = s->zbits[s->state_out_pos];
512 s->state_out_pos++;
513 s->strm->avail_out--;
514 s->strm->next_out++;
515 s->strm->total_out_lo32++;
516 if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
529 EState* s = strm->state;
533 if (s->state == BZ_S_OUTPUT) {
534 progress_out |= copy_output_until_stop ( s );
535 if (s->state_out_pos < s->numZ) break;
536 if (s->mode == BZ_M_FINISHING &&
537 s->avail_in_expect == 0 &&
538 isempty_RL(s)) break;
539 prepare_new_block ( s );
540 s->state = BZ_S_INPUT;
541 if (s->mode == BZ_M_FLUSHING &&
542 s->avail_in_expect == 0 &&
543 isempty_RL(s)) break;
546 if (s->state == BZ_S_INPUT) {
547 progress_in |= copy_input_until_stop ( s );
548 if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) {
549 flush_RL ( s );
550 BZ2_compressBlock ( s, (Bool)(s->mode == BZ_M_FINISHING) );
551 s->state = BZ_S_OUTPUT;
554 if (s->nblock >= s->nblockMAX) {
555 BZ2_compressBlock ( s, False );
556 s->state = BZ_S_OUTPUT;
559 if (s->strm->avail_in == 0) {
574 EState* s;
576 s = strm->state;
577 if (s == NULL) return BZ_PARAM_ERROR;
578 if (s->strm != strm) return BZ_PARAM_ERROR;
581 switch (s->mode) {
593 s->avail_in_expect = strm->avail_in;
594 s->mode = BZ_M_FLUSHING;
599 s->avail_in_expect = strm->avail_in;
600 s->mode = BZ_M_FINISHING;
608 if (s->avail_in_expect != s->strm->avail_in)
611 if (s->avail_in_expect > 0 || !isempty_RL(s) ||
612 s->state_out_pos < s->numZ) return BZ_FLUSH_OK;
613 s->mode = BZ_M_RUNNING;
618 if (s->avail_in_expect != s->strm->avail_in)
622 if (s->avail_in_expect > 0 || !isempty_RL(s) ||
623 s->state_out_pos < s->numZ) return BZ_FINISH_OK;
624 s->mode = BZ_M_IDLE;
634 EState* s;
636 s = strm->state;
637 if (s == NULL) return BZ_PARAM_ERROR;
638 if (s->strm != strm) return BZ_PARAM_ERROR;
640 if (s->arr1 != NULL) BZFREE(s->arr1);
641 if (s->arr2 != NULL) BZFREE(s->arr2);
642 if (s->ftab != NULL) BZFREE(s->ftab);
661 DState* s;
672 s = BZALLOC( sizeof(DState) );
673 if (s == NULL) return BZ_MEM_ERROR;
674 s->strm = strm;
675 strm->state = s;
676 s->state = BZ_X_MAGIC_1;
677 s->bsLive = 0;
678 s->bsBuff = 0;
679 s->calculatedCombinedCRC = 0;
684 s->smallDecompress = (Bool)small;
685 s->ll4 = NULL;
686 s->ll16 = NULL;
687 s->tt = NULL;
688 s->currBlockNo = 0;
689 s->verbosity = verbosity;
700 Bool unRLE_obuf_to_output_FAST ( DState* s )
704 if (s->blockRandomised) {
709 if (s->strm->avail_out == 0) return False;
710 if (s->state_out_len == 0) break;
711 *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
712 BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
713 s->state_out_len--;
714 s->strm->next_out++;
715 s->strm->avail_out--;
716 s->strm->total_out_lo32++;
717 if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
721 if (s->nblock_used == s->save_nblock+1) return False;
724 if (s->nblock_used > s->save_nblock+1)
727 s->state_out_len = 1;
728 s->state_out_ch = s->k0;
730 k1 ^= BZ_RAND_MASK; s->nblock_used++;
731 if (s->nblock_used == s->save_nblock+1) continue;
732 if (k1 != s->k0) { s->k0 = k1; continue; };
734 s->state_out_len = 2;
736 k1 ^= BZ_RAND_MASK; s->nblock_used++;
737 if (s->nblock_used == s->save_nblock+1) continue;
738 if (k1 != s->k0) { s->k0 = k1; continue; };
740 s->state_out_len = 3;
742 k1 ^= BZ_RAND_MASK; s->nblock_used++;
743 if (s->nblock_used == s->save_nblock+1) continue;
744 if (k1 != s->k0) { s->k0 = k1; continue; };
747 k1 ^= BZ_RAND_MASK; s->nblock_used++;
748 s->state_out_len = ((Int32)k1) + 4;
749 BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK;
750 s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
756 UInt32 c_calculatedBlockCRC = s->calculatedBlockCRC;
757 UChar c_state_out_ch = s->state_out_ch;
758 Int32 c_state_out_len = s->state_out_len;
759 Int32 c_nblock_used = s->nblock_used;
760 Int32 c_k0 = s->k0;
761 UInt32* c_tt = s->tt;
762 UInt32 c_tPos = s->tPos;
763 char* cs_next_out = s->strm->next_out;
764 unsigned int cs_avail_out = s->strm->avail_out;
765 Int32 ro_blockSize100k = s->blockSize100k;
769 Int32 s_save_nblockPP = s->save_nblock+1;
828 total_out_lo32_old = s->strm->total_out_lo32;
829 s->strm->total_out_lo32 += (avail_out_INIT - cs_avail_out);
830 if (s->strm->total_out_lo32 < total_out_lo32_old)
831 s->strm->total_out_hi32++;
834 s->calculatedBlockCRC = c_calculatedBlockCRC;
835 s->state_out_ch = c_state_out_ch;
836 s->state_out_len = c_state_out_len;
837 s->nblock_used = c_nblock_used;
838 s->k0 = c_k0;
839 s->tt = c_tt;
840 s->tPos = c_tPos;
841 s->strm->next_out = cs_next_out;
842 s->strm->avail_out = cs_avail_out;
870 Bool unRLE_obuf_to_output_SMALL ( DState* s )
874 if (s->blockRandomised) {
879 if (s->strm->avail_out == 0) return False;
880 if (s->state_out_len == 0) break;
881 *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
882 BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
883 s->state_out_len--;
884 s->strm->next_out++;
885 s->strm->avail_out--;
886 s->strm->total_out_lo32++;
887 if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
891 if (s->nblock_used == s->save_nblock+1) return False;
894 if (s->nblock_used > s->save_nblock+1)
897 s->state_out_len = 1;
898 s->state_out_ch = s->k0;
900 k1 ^= BZ_RAND_MASK; s->nblock_used++;
901 if (s->nblock_used == s->save_nblock+1) continue;
902 if (k1 != s->k0) { s->k0 = k1; continue; };
904 s->state_out_len = 2;
906 k1 ^= BZ_RAND_MASK; s->nblock_used++;
907 if (s->nblock_used == s->save_nblock+1) continue;
908 if (k1 != s->k0) { s->k0 = k1; continue; };
910 s->state_out_len = 3;
912 k1 ^= BZ_RAND_MASK; s->nblock_used++;
913 if (s->nblock_used == s->save_nblock+1) continue;
914 if (k1 != s->k0) { s->k0 = k1; continue; };
917 k1 ^= BZ_RAND_MASK; s->nblock_used++;
918 s->state_out_len = ((Int32)k1) + 4;
919 BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK;
920 s->k0 ^= BZ_RAND_MASK; s->nblock_used++;
928 if (s->strm->avail_out == 0) return False;
929 if (s->state_out_len == 0) break;
930 *( (UChar*)(s->strm->next_out) ) = s->state_out_ch;
931 BZ_UPDATE_CRC ( s->calculatedBlockCRC, s->state_out_ch );
932 s->state_out_len--;
933 s->strm->next_out++;
934 s->strm->avail_out--;
935 s->strm->total_out_lo32++;
936 if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++;
940 if (s->nblock_used == s->save_nblock+1) return False;
943 if (s->nblock_used > s->save_nblock+1)
946 s->state_out_len = 1;
947 s->state_out_ch = s->k0;
948 BZ_GET_SMALL(k1); s->nblock_used++;
949 if (s->nblock_used == s->save_nblock+1) continue;
950 if (k1 != s->k0) { s->k0 = k1; continue; };
952 s->state_out_len = 2;
953 BZ_GET_SMALL(k1); s->nblock_used++;
954 if (s->nblock_used == s->save_nblock+1) continue;
955 if (k1 != s->k0) { s->k0 = k1; continue; };
957 s->state_out_len = 3;
958 BZ_GET_SMALL(k1); s->nblock_used++;
959 if (s->nblock_used == s->save_nblock+1) continue;
960 if (k1 != s->k0) { s->k0 = k1; continue; };
962 BZ_GET_SMALL(k1); s->nblock_used++;
963 s->state_out_len = ((Int32)k1) + 4;
964 BZ_GET_SMALL(s->k0); s->nblock_used++;
975 DState* s;
977 s = strm->state;
978 if (s == NULL) return BZ_PARAM_ERROR;
979 if (s->strm != strm) return BZ_PARAM_ERROR;
982 if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR;
983 if (s->state == BZ_X_OUTPUT) {
984 if (s->smallDecompress)
985 corrupt = unRLE_obuf_to_output_SMALL ( s ); else
986 corrupt = unRLE_obuf_to_output_FAST ( s );
988 if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) {
989 BZ_FINALISE_CRC ( s->calculatedBlockCRC );
990 if (s->verbosity >= 3)
991 VPrintf2 ( " {0x%08x, 0x%08x}", s->storedBlockCRC,
992 s->calculatedBlockCRC );
993 if (s->verbosity >= 2) VPrintf0 ( "]" );
994 if (s->calculatedBlockCRC != s->storedBlockCRC)
996 s->calculatedCombinedCRC
997 = (s->calculatedCombinedCRC << 1) |
998 (s->calculatedCombinedCRC >> 31);
999 s->calculatedCombinedCRC ^= s->calculatedBlockCRC;
1000 s->state = BZ_X_BLKHDR_1;
1005 if (s->state >= BZ_X_MAGIC_1) {
1006 Int32 r = BZ2_decompress ( s );
1008 if (s->verbosity >= 3)
1010 s->storedCombinedCRC, s->calculatedCombinedCRC );
1011 if (s->calculatedCombinedCRC != s->storedCombinedCRC)
1015 if (s->state != BZ_X_OUTPUT) return r;
1030 DState* s;
1032 s = strm->state;
1033 if (s == NULL) return BZ_PARAM_ERROR;
1034 if (s->strm != strm) return BZ_PARAM_ERROR;
1036 if (s->tt != NULL) BZFREE(s->tt);
1037 if (s->ll16 != NULL) BZFREE(s->ll16);
1038 if (s->ll4 != NULL) BZFREE(s->ll4);
1574 case 's':