寺西です。
Tadamasa Teranishi wrote:
>
> NOKUBI Takatsugu wrote:
> >
> > iconv_tの実体はvoid *で、C言語においてポインタできちんと定義されてい
> > るのはNULLだけなので、-1を使うのは止めました。
>
> (iconv_t)(-1) を使うことに何ら問題はありません。
ちょっと誤解されているようです。
修正されたソースを見たところ
if (toutf8 == NULL)
toutf8 = iconv_open("UTF-8", "EUC-JP");
assert(toutf8 == NULL);
となってましたが、iconv_open の戻り値で NULL を返すことはありません。
# 少なくとも libiconv-1.9.1 では。
iconv_open では以下のようにエラー時に -1 を返すようになっています。
invalid:
errno = EINVAL;
return (iconv_t)(-1);
ですので、戻り値が (iconv_t)(-1) かどうかを比較することは必要です。
(あるいは errno を確認するかです。)
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)
[メールアドレス保護]
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E
_______________________________________________
Kakasi-dev mailing list
[email protected]
http://www.namazu.org/cgi-bin/mailman/listinfo/kakasi-dev