Cleaning up parsing per suggestion

This commit is contained in:
Bimba Shrestha
2019-09-10 13:18:59 -07:00
parent e3c5825918
commit 47199480da
+7 -17
View File
@@ -2291,27 +2291,17 @@ static void ZSTD_copyBlockSequences(ZSTD_CCtx* zc)
outSeqs[i].rep = 1; outSeqs[i].rep = 1;
repIdx = i - outSeqs[i].offset; repIdx = i - outSeqs[i].offset;
/* Not first block */
if (repIdx >= 0) {
/* Special case where litLength == 0 */
if (outSeqs[i].litLength == 0) { if (outSeqs[i].litLength == 0) {
/* When the offset is 3 */ if (outSeqs[i].offset < 3) {
if (outSeqs[i].offset > 2) { --repIdx;
outSeqs[i].offset = outSeqs[repIdx - 1].offset - 1;
/* When the offset is either 1 or 2 */
} else { } else {
outSeqs[i].offset = outSeqs[repIdx - 1].offset; repIdx = i - 1;
} }
} else {
outSeqs[i].offset = outSeqs[repIdx].offset;
} }
/* First block */ assert(repIdx >= -3);
} else if (repIdx == -1) { outSeqs[i].offset = repIdx >= 0 ? outSeqs[repIdx].offset : repStartValue[-repIdx - 1];
outSeqs[i].offset = 1; if (outSeqs[i].offset == 3) {
} else if (repIdx == -2) { --outSeqs[i].offset;
outSeqs[i].offset = 4;
} else if (repIdx == -3) {
outSeqs[i].offset = 8;
} }
} else { } else {
outSeqs[i].offset -= ZSTD_REP_NUM; outSeqs[i].offset -= ZSTD_REP_NUM;