Motoyuki Kasahara
m-kas****@sra*****
2007年 10月 2日 (火) 15:52:42 JST
笠原です。 > Motoyuki Kasahara wrote: >> nkf -g による文字コード判定で、改行コードの判定結果も出力されますが、 >> 改行コードが CRLF および混在しているときは正しく判定されないようです。 > > 確かに CRLF のコードが動いてませんね。 > そもそも混在の場合は考えてもいませんでした。 : 略 > いじっているうちに、そもそも UTF-16/UTF-32 ではまったく動いてないことに > 気づいたので、方針を変えて改行コード変換関数に同居させることにしました。 > なにはともあれ、これで動くようになったと思うのですがいかがでしょう。 ありがとうございます。 (UTF-16, UTF-32 のことは、私もまったく考えていませんでした。) 修正して頂いた nkf.c (rev 1.139) を試してみました。ファイル単一で 指定したときは、正しく動作しているようですが、複数のファイルを指定 した際の判定で失敗しています。 $ nkf -g *.txt cr.txt: ISO-2022-JP (CR) crlf.txt: ISO-2022-JP (MIXED NL) lf.txt: ISO-2022-JP (MIXED NL) mixed.txt: ISO-2022-JP (MIXED NL) none.txt: ISO-2022-JP (MIXED NL) 前のファイルの判定情報を、引きずってしまっているようです。 ファイルを処理する毎に input_nextline のリセットが必要だと思います。 -- __________________________________________________________________ 笠原 基之(かさはら もとゆき) Motoyuki Kasahara <m-kas****@sra*****>