[前][次][番号順一覧][スレッド一覧]

sylpheed-jp:1727

From: とみたまさひろ <tommy@xxxxxxxxxx>
Date: Fri, 17 May 2002 01:31:37 +0900
Subject: [sylpheed-jp:01727] Re: 添付ファイル名に空白が入る

とみたです。

かなり前のメールですが、

On Tue, 5 Feb 2002 16:46:44 +0900
とみたまさひろ <tommy@xxxxxxxxxx> wrote:

> Sylpheed 0.7.0 で、添付ファイル名が日本語+英語でちょっと長い場合、空白
> が入ることがあるみたいです。
> 
> たとえば、「だるまさんがころんだよん.txt」というファイル名を添付すると、
> 次のようにエンコードされてしまい、
> 
>   Content-Type: text/plain;
>    name="=?ISO-2022-JP?B?GyRCJEAkayReJDUkcyQsJDMkbSRzJEAkaCRzGyhCLnR4?= t"
>   Content-Disposition: attachment;
>    filename="=?ISO-2022-JP?B?GyRCJEAkayReJDUkcyQsJDMkbSRzJEAkaCRzGyhCLnR4?= t"
> 
> デコードすると、「だるまさんがころんだよん.tx t」となってしまいます。
> 
> なお、libjconv は使ってません。
> 
> # codeconv.c をちょっと眺めてみたのですが、挫折しました (^^;

0.7.6 でも直ってなくて、ちょっと会社の業務に支障をきたすようになってき
たので、もう一度挑戦して適当にパッチを作ってみました。

良く理解せずにいじってるので、かなり怪しいのですが、いちおうそれなりに
動いているみたいです。

--- sylpheed-0.7.6/src/codeconv.c.orig	Thu Feb 28 22:06:07 2002
+++ sylpheed-0.7.6/src/codeconv.c	Thu May 16 17:02:21 2002
@@ -1017,6 +1017,7 @@
 	gchar *mimehdr_end = "?=";
 	gchar *mimehdr_enctype = "?B?";
 	const gchar *mimehdr_charset;
+	gint prev_line_end_with_encoding = 0;
 
 	/* g_print("src = %s\n", src); */
 	mimehdr_charset = conv_get_outgoing_charset_str();
@@ -1048,7 +1049,7 @@
 
 		/* encode string including space
 		   if non-ASCII string follows */
-		if (is_next_nonascii(wsrcp)) {
+		if (!prev_line_end_with_encoding && is_next_nonascii(wsrcp)) {
 			wp = wsrcp;
 			while ((wp = find_wspace(wp)) != NULL)
 				if (!is_next_nonascii(wp)) break;
@@ -1085,7 +1086,8 @@
 				}
 
 				/* length of KI + KO */
-				if (prev_mbl == 1 && mbl == 2)
+				if (prev_line_end_with_encoding ||
+				    prev_mbl == 1 && mbl == 2)
 					mb_seqlen += JIS_SEQLEN * 2;
 
 				if (mb_seqlen) {
@@ -1166,10 +1168,12 @@
 				line_len += strlen(mimehdr_end);
 
 				g_free(tmp_jis);
+				prev_line_end_with_encoding = 1;
 			} else {
 				strcpy(destp, tmp);
 				line_len += strlen(destp);
 				destp += strlen(destp);
+				prev_line_end_with_encoding = 0;
 			}
 
 			g_free(tmp);


-- 
とみたまさひろ <tommy@xxxxxxxxxx>, <tommy@xxxxxxxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp

[前][次][番号順一覧][スレッド一覧]

      1461 2002-02-05 16:46 [tommy@xxxxxxxxxx    ] 添付ファイル名に空白が入る              
->    1727 2002-05-17 01:31 ┗[tommy@xxxxxxxxxx    ]                                       
      1728 2002-05-17 14:53  ┗[tommy@xxxxxxxxxx    ]                                     
      1732 2002-05-20 20:02   ┗[hiro-y@xxxxxxxxxx   ]