[Lha-users] larc.c: decode_start_lz5()

Back to archive index

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つが別関数として
# 区別されてしまいます。




Lha-users メーリングリストの案内
Back to archive index