#define NT (CODE_BIT + 3)
#define PBIT 4 /* smallest integer such that (1U << PBIT) > NP */
#define TBIT 5 /* smallest integer such that (1U << TBIT) > NT */
-#define NPT (1<<TBIT)
+#if NT > NP
+# define NPT NT
+#else
+# define NPT NP
+#endif
/* local ush left[2 * NC - 1]; */
/* local ush right[2 * NC - 1]; */
if ((len = bitlen[ch]) == 0) continue;
nextcode = start[len] + weight[len];
if (len <= (unsigned)tablebits) {
- if (nextcode > 1 << tablebits)
- error("Bad table\n");
for (i = start[len]; i < nextcode; i++) table[i] = ch;
} else {
k = start[len];
if (c == 7) {
mask = (unsigned) 1 << (BITBUFSIZ - 1 - 3);
while (mask & bitbuf) { mask >>= 1; c++; }
- if (c > 16)
- error("Bad table\n");
}
fillbuf((c < 7) ? 3 : c - 3);
pt_len[i++] = c;