[Freewnn-users 279] Re: FreeWnn のバージョンを上げませんか ? 他

アーカイブの一覧に戻る

Mitsutoshi NAKANO itsan****@gmail*****
2015年 5月 9日 (土) 22:31:22 JST


2015年5月7日 3:16 Tomoki AONO <aono****@cc*****>:
> <CANW2****@mail*****>の記事において
> itsan****@gmail*****さんは書きました。
>
>> 2015年5月3日 20:25 Tomoki AONO <aono****@cc*****>:
>> > 個人的にはマージしたコードに納得いかないところもありますが、
>>
>> これ、具体的に問題点を明らかにしていただければ、
>> 明日からゴールデンウィーク中の課題として修正いたしますが、
>> いかがいたしましょう?
>
> 書き方が悪くて気分を害したようであれば申し訳ありません。

私は気にしておりませんので、どうかお気になさらずに。

>> 人的に気にしていることなので作業は必要ありませんが、思い出
> しがてらに改めてコードを見て気になったことをつらつらと述べ
> ていきます。ゴールデンウィークは過ぎてしまいましたがすみま
> せん。
>
> ・内部的に使っているコードにFRWNN_PARAMSマクロを使うのはや
>   りすぎではないだろうか(Wnn/include/etc.h など)

もっともな意見だと思うのですが、
量が多いので今回は見逃してほしいです^_^;

>
> ・libwnnのエラーハンドラー用の定数(WNN_NO_CREATEなど)ですが、
>   使用側で型キャストするより定数の定義
>   (Wnn/include/jllib.h)で済ませた方が美しいように思います。

WNN_CREATEとWNN_NO_CREATEについては
元々関数へのポインタをintにキャストして比較していたのを
ポインタ同士の比較に修正したものですね。

-      if ((int) error_handler == WNN_NO_CREATE || (rw == WNN_DIC_RDONLY))
+      if (error_handler == (int (*) (const char *)) WNN_NO_CREATE || (rw == WNN
_DIC_RDONLY))

これを例えば
#define WNN_NO_CREATE ((int (*)(const char *)) 0)
#define WNN_CREATE ((int (*)(const char *)) -1)
としようという話ですね。
やってもいいと思うのでやっちゃおうかなと考えています。

>
> ・(蛇足ですが) Wnn/include/jlib_hide.h のネーミングはややかっ
>   こ悪いかと個人的には思っています。(個人的な好みは
>   jlib_private.hですが、十数行のファイルなので必要なファイ
>   ルに分散させてもよかったとも思います)

jlib_private.h に名前を変更しましょう。

extern 〜();
などを複数の*.cファイルに分散するのは、
型の不一致バグを見落とす恐れがあるので
私は避けるべきだと考えています。
その考えもあって2013年に新しいヘッダファイルを複数作ったのですが、
 egrep -R chrcat .
などとしてみたら、まだまだそういう宣言が残っていそうですね。
今回は(明らかなバグが発見されない限り)
宣言をヘッダに移動する作業はやらないでおこうと思います。


時間のあるうちにやっておきたいので、
特に反対が無いなら明日の内にやっておきますね。

-- 
Mitsutoshi NAKANO <ItSAN****@gmail*****> <bkbin****@rinku*****>
 <https://twitter.com/ItSANgo> <http://d.hatena.ne.jp/Itisango/>
 <https://launchpad.net/~bkbin005>




freewnn-users メーリングリストの案内
アーカイブの一覧に戻る