diff options
-rw-r--r-- | composer/e-composer-post-header.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/composer/e-composer-post-header.c b/composer/e-composer-post-header.c index 7fd26aa8a7..5bace17d4d 100644 --- a/composer/e-composer-post-header.c +++ b/composer/e-composer-post-header.c @@ -45,16 +45,26 @@ static gchar * composer_post_header_folder_name_to_string (EComposerPostHeader *header, const gchar *url) { + gchar *res = NULL; const gchar *base_url = header->priv->base_url; if (base_url != NULL) { gsize length = strlen (base_url); - if (g_ascii_strncasecmp (url, base_url, length) == 0) - return g_strdup (url + length); + if (g_ascii_strncasecmp (url, base_url, length) == 0) { + res = g_uri_unescape_string (url + length, NULL); + if (!res) + res = g_strdup (url + length); + } + } + + if (!res) { + res = g_uri_unescape_string (url, NULL); + if (!res) + res = g_strdup (url); } - return g_strdup (url); + return res; } static void |