diff options
Diffstat (limited to 'camel/camel-filter-search.c')
-rw-r--r-- | camel/camel-filter-search.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/camel/camel-filter-search.c b/camel/camel-filter-search.c index bbfbac249f..9cbb87cce6 100644 --- a/camel/camel-filter-search.c +++ b/camel/camel-filter-search.c @@ -403,13 +403,25 @@ static ESExpResult * get_source (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessageSearch *fms) { ESExpResult *r; + char *src; + char *tmp; r = e_sexp_result_new (f, ESEXP_RES_STRING); if (fms->source) { - r->value.string = e_url_shroud (fms->source); + src = e_url_shroud (fms->source); } else { - r->value.string = g_strdup (camel_mime_message_get_source (fms->message)); + src = g_strdup (camel_mime_message_get_source (fms->message)); } + + /* This is an abusive hack */ + if ( src && (tmp = strstr (src, "://")) ) { + tmp += 3; + tmp = strchr (tmp, '/'); + if (tmp) + *tmp = '\0'; + } + + r->value.string = src; return r; } |