MagicalSayurin
magic****@users*****
2007年 5月 15日 (火) 09:24:00 JST
07/05/14 に Koji Arai<jca02****@gmail*****> さんは書きました: > 07/05/12 に MagicalSayurin<magic****@users*****> さんは書きました: > > はじめまして、LHaのソースに興味があり読み始めました。 > > いろいろいじっていて気になる点があるので、小出しにしていきます。 > > おー、それは頼もしい。おかしな点はどんどん報告願います。 まだ公開できませんが、LHaをC++/CLIに移植しています。 なので、元ソースが矛盾してると…。 > > larc.c: decode_start_lz5()ですが、グローバル変数 text にアクセスしています。 > > ところが text にメモリが割り当てられるのはslide.c: encode_alloc()のみな気が > > します。いかがでしょうか? > > 私も、-lz5-って扱ったことないです。該当ソースもほぼノーチェックです。 > 御指摘部分は確かに変な気がします。 decode_start_lz5()にdtextを渡すには lha.h: struct decode_option にある 関数ポインタの引数を変える必要がありますし…ここまで変更が入ると 勝手なパッチを作って提供することも、ちょっと気がひけます。 ついでにこの付近でもう1つ指摘を。huf.c: output_st1() ですが、 void output_st1(c, p) unsigned short c; unsigned short p; { ところがprototypes.hでは void output_st1 P_((int c, int p)); となっていて、unsigned shortとintとでサイズが違う環境ではスタックがずれる 可能性があります。K&R C的にはずれないから大丈夫なのでしょうか? # C++的には関数オーバーロードがあるのでこの2つが別関数として # 区別されてしまいます。