namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 gcc -pedantic and signedness: uchar/char
- From: Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx>
- Date: Thu, 18 Nov 1999 11:54:34 +0900
ふと思い立って gcc -pedantic を試したところ、
  libnamazu.c:133: warning: pointer targets in passing \
		   arg 1 of `strcpy' differ in signedness
のような警告が 700個以上も出てしまいました。そこで、試しに
  % perl -i -pe s/uchar/char/g **/*.[ch]
を実行してすべて uchar (unsigned char) を char に置き換えた
ところ、日本語の検索以外は問題なく動くようです。
調べてみれば、単語表を 2分探索している部分と、文字コードの変
換部分が uchar を必要としていただけで、ほかはすべて char で
よかったようです。
というわけで、 s/uchar/char/g の修正を commit しました。大胆
な修正なので、念のために commit の前に
  % cvs tag namazu-1-9-8 .
としてタグをつけておきました。不具合をみつけたら報告してくだ
さいませ。
  ...
今後は -pedantic をつけて開発を行うことにします。
configure.in に
  if test -n "$GCC"; then
      CFLAGS="$CFLAGS -Wall -pedantic"
  fi
を追加しておきました。
p.s.
しばらくソースコードの整理に取り組むことにします。(あまりに
も汚いので)
v2.0 までの残りの仕事は次の通り。(ほかにもあるかな?)
  * mknmz を gettext化
  * NMZ.result を国際化
  * NMZ.head.ja_JP.JIS7 を NMZ.head.ja (EUC-JP) に
    (必要に応じてコード変換を行う)
  * EUC to JIS のコード変換を書き換え
    (ひどい実装なので - [namazu-dev 528]参照)
  * マニュアルを整備 (大変だ)
-- Satoru Takabayashi