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>