[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:001166] Re: uvbx{a,f} in advanceddcl-0.2.2



堀之内です。

# ADSL導入で、ますます在宅勤務がしやすくなりました。

> advanceddcl のバグを見つけました。

有難うございます。確かに指摘されたように変更すべきですね。
ただ、それ以前の問題として、どうにもこの部分が納得いきません。

ここは川那辺君に聞いてみないとわからないので、就職した
ばかりで大変なところをすみませんが、登場をお願いします
 > 川那辺君。

くだんの部分はBox.xfrm の定義部分に入ってます。そこでは、DCL.uvbxf
を呼ぶ前にいろいろ処理をしてますが、何をしてるのでしょう。
ドキュメントは uvbxf のものをカットアンドペーストしてある
だけなので、その前の部分が本当に必要なのかわかりません。
どうやらフレームの設定と確定をしてるみたいなんですが、
特にわからないのが、Basic.checkundef なるものを呼んでるところ
です。これは何をするものでしょう。Basicにはドキュメントが
一切ありません。Basicの各モジュール関数が何をするものなのか、
簡単でいいですから書いて送ってください。checkundefは、名前からして
何かをチェックするものと思いきや、中でFig.inclpointを呼んでます。
これは、少なくともネーミングがまずいです。

そもそも、uvbxf とフレームの確定を一緒にする必要はあったのでしょ
うか? これで他のモジュールとコンシステントになります?

ちなみに、西澤君ご指摘のバグに関連して言えば、uvbxfを呼ぶ前に
xやy1の長さの関係をチェックしてないのは、絶対まずいです。
Segmentation faultを出しちゃだめです。いつも言ってた
ことですが、然るべき入り口検査は忘れちゃ駄目ですよ。

堀之内


> -       DCL.uvbxf(x.length, x, y1, y2)
> +       DCL.uvbxf(x.length-1, x, y1, y2)
>         if(temp)
>            @xxxxxx
>            @xxxxxx
> @xxxxxx@xxxxxx -372,7 +372,7 @xxxxxx@xxxxxx
>         end
>         Fig.settrf
>         
> -       DCL.uvbxa(x.length, x, y1, y2)
> +       DCL.uvbxa(x.length-1, x, y1, y2)
>         if(temp)
>            @xxxxxx
>            @xxxxxx
> ######### ここまで ############
> 
> ----------
> Seiya Nishizawa
> seiya@xxxxxx
>