aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-filter-search.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-filter-search.c')
-rw-r--r--camel/camel-filter-search.c16
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;
}