先ほど書き忘れましたが,件の修正コードのままでは多くのファイルが展開できなくなるような気がします。
nextcode = MIN(start[len] + weight[len], DIST_BUFSIZE);
と修正されていますが,少し後の
k = start[len]; p = &table[k >> jutbits];
の部分は,元々table[]のサイズ(256若しくは4096)を超えた値を想定したコードとなっているため,これをtable[]のサイズに縮小してしまったのでは正常なテーブルを作成できなくなってしまいます。
ただ,これはLHAを前提とした話なので,gzipで同じ問題が発生するのかは確認していません。LHAへ単純に適用してみたところ,ハフマンエラーとCRCエラーの嵐となったもので…。
書式オプションに関するさらに詳しい情報...
先ほど書き忘れましたが…
先ほど書き忘れましたが,件の修正コードのままでは多くのファイルが展開できなくなるような気がします。
nextcode = MIN(start[len] + weight[len], DIST_BUFSIZE);
と修正されていますが,少し後の
k = start[len];
p = &table[k >> jutbits];
の部分は,元々table[]のサイズ(256若しくは4096)を超えた値を想定したコードとなっているため,これをtable[]のサイズに縮小してしまったのでは正常なテーブルを作成できなくなってしまいます。
ただ,これはLHAを前提とした話なので,gzipで同じ問題が発生するのかは確認していません。LHAへ単純に適用してみたところ,ハフマンエラーとCRCエラーの嵐となったもので…。