LHa BBS [30], [39], [62])
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/lha/lha/trunk@251
6a8cc165-1e22-0410-a132-
eb4e3f353aba
do {
bits >>= 1;
if (p & 1) {
- bits |= 0x8000;
- }
- if (++cnt == 16) {
- putcode(16, bits);
- cnt = bits = 0;
+ bits |= 0x80000000L;
}
+ cnt++;
} while ((p = parent[p]) != ROOT_C);
- putcode(cnt, bits);
+ if (cnt <= 16) {
+ putcode(cnt, bits >> 16);
+ } else {
+ putcode(16, bits >> 16);
+ putbits(cnt - 16, bits);
+ }
if (d >= 0)
putbits(8, d);
update_c(c);