[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:30977] Sylpheed から示唆される glibc2 (iconv) の問題



debian(woody)を使わせていただいています。
菊地ともうします。

Sylpheedを使用している中で下記のような不具合を発見しました。
--------------------------
ASCIIコードで言うところの
符号 5/12
の文字のコード変換の問題です。
この文字は、windowsの日本語環境では、円記号に表示されるものです。
これが、Sylpheedで送信時コード変換されるときに、

\
行の左にかな漢字が無い場合はこのように正常ですが、
かな漢字の後は\ ←これに変換されてしまいます。

上記の文はこれがSylpheedによって送信される時に、コード変換が間違うことをあ
らかじめ想定して書きました。
--------------------------

Sylpheedの作者の山本さんに質問させていただいたところ、山本さんも以前に気が
付かれていらして、御自身でも調査されていたそうで、どうも、glibc2 (iconv)の
問題である可能性が大きいそうです。
glibc2 (iconv)に関しての問題をどこに報告すれば良いのかわからないので、
debian-users@debian.or.jpのメーリングリストに報告して、助言をもらうように
しようと思いますと、メールにかきましたら、山本さんが、問題を再現できるサン
プルプログラムを作ってくださいました。
そのソースコード
sample.c
を添付いたします。
よろしくお願い致します。

以上です。
#include <stdio.h>
#include <iconv.h>

int main(void)
{
        iconv_t cd;
        size_t inlen, outlen = 256;
        char *in = "ƥ\\ ƥ \\";
        char *inp = in;
        char outbuf[256];
        char *outp = outbuf;

        puts(in);

        cd = iconv_open("ISO-2022-JP", "EUC-JP");

        inlen = strlen(in) + 1;
        iconv(cd, &inp, &inlen, &outp, &outlen);

        puts(outbuf);

        iconv_close(cd);
        return 0;
}