diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2018-02-03 16:43:33 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-02-03 16:43:33 +0100 |
commit | aaa3818a75bb64bb96a1cda9412162aa7a8a44de (patch) | |
tree | ff17957de70d56d5376b437687799e7730425390 /archival | |
parent | e59e5ff96e9461dc658748509ec41408c140f6fb (diff) | |
download | busybox-aaa3818a75bb64bb96a1cda9412162aa7a8a44de.tar.gz |
bzip2: remove redundant loop termination check in mainSort()
function old new delta
mainSort 1202 1192 -10
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'archival')
-rw-r--r-- | archival/libarchive/bz/blocksort.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/archival/libarchive/bz/blocksort.c b/archival/libarchive/bz/blocksort.c index 0b614ce08..19341369c 100644 --- a/archival/libarchive/bz/blocksort.c +++ b/archival/libarchive/bz/blocksort.c @@ -825,7 +825,6 @@ void mainSort(EState* state, } { - int32_t vv; /* bbox: was: int32_t h = 1; */ /* do h = 3 * h + 1; while (h <= 256); */ uint32_t h = 364; @@ -834,6 +833,7 @@ void mainSort(EState* state, /*h = h / 3;*/ h = (h * 171) >> 9; /* bbox: fast h/3 */ for (i = h; i <= 255; i++) { + int32_t vv; vv = runningOrder[i]; j = i; while (BIGFREQ(runningOrder[j-h]) > BIGFREQ(vv)) { @@ -854,7 +854,7 @@ void mainSort(EState* state, numQSorted = 0; - for (i = 0; i <= 255; i++) { + for (i = 0; /*i <= 255*/; i++) { /* * Process big buckets, starting with the least full. @@ -974,7 +974,10 @@ void mainSort(EState* state, */ bigDone[ss] = True; - if (i < 255) { + if (i == 255) + break; + + { int32_t bbStart = ftab[ss << 8] & CLEARMASK; int32_t bbSize = (ftab[(ss+1) << 8] & CLEARMASK) - bbStart; int32_t shifts = 0; |