diff options
-rw-r--r-- | archival/libarchive/bz/blocksort.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/archival/libarchive/bz/blocksort.c b/archival/libarchive/bz/blocksort.c index a1ee59224..578f6d41f 100644 --- a/archival/libarchive/bz/blocksort.c +++ b/archival/libarchive/bz/blocksort.c | |||
@@ -468,15 +468,16 @@ void mainSimpleSort(uint32_t* ptr, | |||
468 | int32_t d, | 468 | int32_t d, |
469 | int32_t* budget) | 469 | int32_t* budget) |
470 | { | 470 | { |
471 | int32_t bigN; | 471 | /* At which increment to start? */ |
472 | int hp; | 472 | int hp = 0; |
473 | 473 | { | |
474 | bigN = hi - lo + 1; | 474 | int bigN = hi - lo; |
475 | if (bigN < 2) return; | 475 | if (bigN <= 0) |
476 | 476 | return; | |
477 | hp = 0; | 477 | while (incs[hp] <= bigN) |
478 | while (incs[hp] < bigN) hp++; | 478 | hp++; |
479 | hp--; | 479 | hp--; |
480 | } | ||
480 | 481 | ||
481 | for (; hp >= 0; hp--) { | 482 | for (; hp >= 0; hp--) { |
482 | int32_t i; | 483 | int32_t i; |
@@ -754,22 +755,22 @@ void mainSort(EState* state, | |||
754 | #if CONFIG_BZIP2_FAST >= 2 | 755 | #if CONFIG_BZIP2_FAST >= 2 |
755 | for (; i >= 3; i -= 4) { | 756 | for (; i >= 3; i -= 4) { |
756 | quadrant[i] = 0; | 757 | quadrant[i] = 0; |
757 | j = (j >> 8) | (((uint16_t)block[i]) << 8); | 758 | j = (j >> 8) | (((unsigned)block[i]) << 8); |
758 | ftab[j]++; | 759 | ftab[j]++; |
759 | quadrant[i-1] = 0; | 760 | quadrant[i-1] = 0; |
760 | j = (j >> 8) | (((uint16_t)block[i-1]) << 8); | 761 | j = (j >> 8) | (((unsigned)block[i-1]) << 8); |
761 | ftab[j]++; | 762 | ftab[j]++; |
762 | quadrant[i-2] = 0; | 763 | quadrant[i-2] = 0; |
763 | j = (j >> 8) | (((uint16_t)block[i-2]) << 8); | 764 | j = (j >> 8) | (((unsigned)block[i-2]) << 8); |
764 | ftab[j]++; | 765 | ftab[j]++; |
765 | quadrant[i-3] = 0; | 766 | quadrant[i-3] = 0; |
766 | j = (j >> 8) | (((uint16_t)block[i-3]) << 8); | 767 | j = (j >> 8) | (((unsigned)block[i-3]) << 8); |
767 | ftab[j]++; | 768 | ftab[j]++; |
768 | } | 769 | } |
769 | #endif | 770 | #endif |
770 | for (; i >= 0; i--) { | 771 | for (; i >= 0; i--) { |
771 | quadrant[i] = 0; | 772 | quadrant[i] = 0; |
772 | j = (j >> 8) | (((uint16_t)block[i]) << 8); | 773 | j = (j >> 8) | (((unsigned)block[i]) << 8); |
773 | ftab[j]++; | 774 | ftab[j]++; |
774 | } | 775 | } |
775 | 776 | ||