aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-09-14 08:19:04 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-09-14 08:19:04 +0000
commitc6b7b1264234ee4a55be39f83c72951d55d03868 (patch)
treebffa6e0f1ba6531373432bc6b11fc2aa245cdbed /src
parentdc7f9d5263a0623dcdafda22625ac0d837dfd78f (diff)
normalize address fields before encoding them.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@581 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r--src/compose.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/compose.c b/src/compose.c
index a2e8e2ff..6a184c7d 100644
--- a/src/compose.c
+++ b/src/compose.c
@@ -255,7 +255,7 @@ static gint compose_redirect_write_headers (Compose *compose,
static void compose_convert_header (Compose *compose,
gchar *dest,
gint len,
- gchar *src,
+ const gchar *src,
gint header_len,
gboolean addr_field,
const gchar *encoding);
@@ -3754,18 +3754,27 @@ static gint compose_redirect_write_headers(Compose *compose, FILE *fp)
#undef IS_IN_CUSTOM_HEADER
static void compose_convert_header(Compose *compose, gchar *dest, gint len,
- gchar *src, gint header_len,
+ const gchar *src, gint header_len,
gboolean addr_field, const gchar *encoding)
{
+ gchar *src_;
+
g_return_if_fail(src != NULL);
g_return_if_fail(dest != NULL);
if (len < 1) return;
- g_strchomp(src);
+ if (addr_field)
+ src_ = normalize_address_field(src);
+ else
+ src_ = g_strdup(src);
+ g_strchomp(src_);
if (!encoding)
encoding = conv_get_charset_str(compose->out_encoding);
- conv_encode_header(dest, len, src, header_len, addr_field, encoding);
+
+ conv_encode_header(dest, len, src_, header_len, addr_field, encoding);
+
+ g_free(src_);
}
static void compose_generate_msgid(Compose *compose, gchar *buf, gint len)