|
sylpheed-jp:1868
From: Munesato - NAK - Nakada <munesato@xxxxxxxxxx>
NAK です。
ずっと考えていたのですが...、
On Wed, 17 Jul 2002 13:25:50 +0900
Munesato - NAK - Nakada <munesato@xxxxxxxxxx> wrote:
> > > EUC-JP な環境を前提として、codeconv.c 内の conv_unmime_header() を
> > > 流してゆくと、conv_jistodisp() が 2 回呼ばれています。
> >
> > conv_unmime_header() 中での2回目の JIS -> EUC 変換は、 MIME エンコー
> > ドされずにヘッダに生 JIS を入れられた場合への対処です。あんまり美しく
> > ないですけど(^^;
>
> JIS が含まれている/いないに関わらず、conv_jistodisp() されて
> いたんで、何でだろう? と思っていました。
conv_unmime_header() 中で conv_jistodisp() が呼ばれる
タイミングは、unmime_header() の前のほうが良くないですか?
前に書いたコレ(↓)を元に話しますが、
> conv_unmime_header{
> unmime_header{
> conv_codeset_strdup{
> conv_jistodisp{} // 1: JIS to EUC (OK) ... (1)
> }
> };
> conv_jistodisp{} // 2: EUC to EUC (NG?) ... (2)
> }
(1) は、MIME 化(?) された文字列のみを変換しますが、
(2) は、文字列全体を変換します。
最悪の場合、(1) が実行されたうえで、(2) が実行されると
(2) を呼び出す時点で、EUC-JP と JIS の混在が起こりえます。
ここで、(2) を unmime_header() より先に呼び出すとすると、
MIME 化(?) されている部分は無変換で (1) に渡されるので、
混在は起こらない気がします。
あと、(2) の conv_jistodisp() は固定ですが、ヘッダ情報から
得られる charaset で変換をかければ、生 EUC-JP、生 SJIS、
生 Latin1 等々、一般的に対応できるのではないかと思います。
--
中田 宗里 (NAK) <munesato@xxxxxxxxxx>
1852 2002-07-15 11:06 [hiro-y@xxxxxxxxxx ] Sylpheed 0.8.0 released 1853 2002-07-17 11:01 ┣[munesato@xxxxxxxxxx ] 1854 2002-07-17 12:00 ┃┗[hiro-y@xxxxxxxxxx ] 1855 2002-07-17 13:25 ┃ ┗[munesato@xxxxxxxxxx ] -> 1868 2002-07-19 10:34 ┃ ┗[munesato@xxxxxxxxxx ] 1856 2002-07-17 22:23 ┣[tmita@xxxxxxxxxx ] 1857 2002-07-17 22:48 ┃┗[t-kitano@xxxxxxxxxx ] 1866 2002-07-18 21:04 ┃ ┗[tmita@xxxxxxxxxx ] 1858 2002-07-18 10:16 ┗[ics-ts16@xxxxxxxxxx ] 1859 2002-07-18 11:58 ┗[nobushimizu@xxxxxxxx] 1860 2002-07-18 12:57 ┗[ics-ts16@xxxxxxxxxx ] 1861 2002-07-18 13:52 ┗[nobushimizu@xxxxxxxx] 1862 2002-07-18 14:27 ┗[ics-ts16@xxxxxxxxxx ] 1863 2002-07-18 14:41 ┗[mimosa01@xxxxxxxxxx ] 1864 2002-07-18 15:15 ┗[ics-ts16@xxxxxxxxxx ] 1865 2002-07-18 17:32 ┗[donjo@xxxxxxxxxx ] 1869 2002-07-19 13:57 ┗[nobushimizu@xxxxxxxx] 1870 2002-07-19 15:32 ┗[hiro-y@xxxxxxxxxx ] 1871 2002-07-19 15:52 ┗[nobushimizu@xxxxxxxx] 1874 2002-07-20 13:13 ┣[mimosa01@xxxxxxxxxx ] 1881 2002-07-23 13:33 ┗[hiro-y@xxxxxxxxxx ] 1882 2002-07-24 00:12 ┗[nobushimizu@xxxxxxxx] |