aboutsummaryrefslogtreecommitdiff
path: root/blocksort.c
diff options
context:
space:
mode:
Diffstat (limited to 'blocksort.c')
-rw-r--r--blocksort.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/blocksort.c b/blocksort.c
index ec42672..aba3efc 100644
--- a/blocksort.c
+++ b/blocksort.c
@@ -8,7 +8,7 @@
8 This file is a part of bzip2 and/or libbzip2, a program and 8 This file is a part of bzip2 and/or libbzip2, a program and
9 library for lossless, block-sorting data compression. 9 library for lossless, block-sorting data compression.
10 10
11 Copyright (C) 1996-2000 Julian R Seward. All rights reserved. 11 Copyright (C) 1996-2002 Julian R Seward. All rights reserved.
12 12
13 Redistribution and use in source and binary forms, with or without 13 Redistribution and use in source and binary forms, with or without
14 modification, are permitted provided that the following conditions 14 modification, are permitted provided that the following conditions
@@ -981,7 +981,14 @@ void mainSort ( UInt32* ptr,
981 } 981 }
982 } 982 }
983 983
984 AssertH ( copyStart[ss]-1 == copyEnd[ss], 1007 ); 984 AssertH ( (copyStart[ss]-1 == copyEnd[ss])
985 ||
986 /* Extremely rare case missing in bzip2-1.0.0 and 1.0.1.
987 Necessity for this case is demonstrated by compressing
988 a sequence of approximately 48.5 million of character
989 251; 1.0.0/1.0.1 will then die here. */
990 (copyStart[ss] == 0 && copyEnd[ss] == nblock-1),
991 1007 )
985 992
986 for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK; 993 for (j = 0; j <= 255; j++) ftab[(j << 8) + ss] |= SETMASK;
987 994