aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-filter-search.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-06-26 08:18:23 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-06-26 08:18:23 +0800
commit3570cc5bbf3c5d3b10d578a0f8444d95e57eb4d3 (patch)
tree9ca85931cb4c9f5847a06daa68b4154a3c477e52 /camel/camel-filter-search.c
parentb44b57aa7e6be672c60b095e65525ed42d6cc94a (diff)
downloadgsoc2013-evolution-3570cc5bbf3c5d3b10d578a0f8444d95e57eb4d3.tar
gsoc2013-evolution-3570cc5bbf3c5d3b10d578a0f8444d95e57eb4d3.tar.gz
gsoc2013-evolution-3570cc5bbf3c5d3b10d578a0f8444d95e57eb4d3.tar.bz2
gsoc2013-evolution-3570cc5bbf3c5d3b10d578a0f8444d95e57eb4d3.tar.lz
gsoc2013-evolution-3570cc5bbf3c5d3b10d578a0f8444d95e57eb4d3.tar.xz
gsoc2013-evolution-3570cc5bbf3c5d3b10d578a0f8444d95e57eb4d3.tar.zst
gsoc2013-evolution-3570cc5bbf3c5d3b10d578a0f8444d95e57eb4d3.zip
g_strdup() the message source here or we will have problems later when we
2001-06-25 Jeffrey Stedfast <fejj@ximian.com> * camel-filter-search.c (get_source): g_strdup() the message source here or we will have problems later when we go to free the result ;-) svn path=/trunk/; revision=10498
Diffstat (limited to 'camel/camel-filter-search.c')
-rw-r--r--camel/camel-filter-search.c61
1 files changed, 29 insertions, 32 deletions
diff --git a/camel/camel-filter-search.c b/camel/camel-filter-search.c
index 05cc5eddc9..5396550d8f 100644
--- a/camel/camel-filter-search.c
+++ b/camel/camel-filter-search.c
@@ -108,7 +108,7 @@ check_header(struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessa
gboolean matched = FALSE;
ESExpResult *r;
int i;
-
+
if (argc > 1 && argv[0]->type == ESEXP_RES_STRING) {
char *name = argv[0]->value.string;
const char *header;
@@ -234,7 +234,7 @@ header_full_regex (struct _ESExp *f, int argc, struct _ESExpResult **argv, Filte
ESExpResult *r = e_sexp_result_new(f, ESEXP_RES_BOOL);
regex_t pattern;
char *contents;
-
+
if (camel_search_build_match_regex(&pattern, CAMEL_SEARCH_MATCH_REGEX|CAMEL_SEARCH_MATCH_ICASE, argc-1, argv+1, fms->ex) == 0) {
contents = get_full_header (fms->message);
r->value.bool = regexec(&pattern, contents, 0, NULL, 0) == 0;
@@ -253,11 +253,11 @@ match_all (struct _ESExp *f, int argc, struct _ESExpTerm **argv, FilterMessageSe
ESExpResult *r;
if (argc > 0)
- return e_sexp_term_eval(f, argv[0]);
-
- r = e_sexp_result_new(f, ESEXP_RES_BOOL);
+ return e_sexp_term_eval (f, argv[0]);
+
+ r = e_sexp_result_new (f, ESEXP_RES_BOOL);
r->value.bool = FALSE;
-
+
return r;
}
@@ -307,7 +307,7 @@ user_flag (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessage
}
}
- r = e_sexp_result_new(f, ESEXP_RES_BOOL);
+ r = e_sexp_result_new (f, ESEXP_RES_BOOL);
r->value.bool = truth;
return r;
@@ -322,7 +322,7 @@ system_flag (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessa
if (argc == 1)
truth = camel_system_flag_get (fms->info->flags, argv[0]->value.string);
- r = e_sexp_result_new(f, ESEXP_RES_BOOL);
+ r = e_sexp_result_new (f, ESEXP_RES_BOOL);
r->value.bool = truth;
return r;
@@ -336,7 +336,7 @@ user_tag (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessageS
tag = camel_tag_get (&fms->info->user_tags, argv[0]->value.string);
- r = e_sexp_result_new(f, ESEXP_RES_STRING);
+ r = e_sexp_result_new (f, ESEXP_RES_STRING);
r->value.string = g_strdup (tag ? tag : "");
return r;
@@ -347,8 +347,8 @@ get_sent_date (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMes
{
ESExpResult *r;
- r = e_sexp_result_new(f, ESEXP_RES_INT);
- r->value.number = camel_mime_message_get_date(fms->message, NULL);
+ r = e_sexp_result_new (f, ESEXP_RES_INT);
+ r->value.number = camel_mime_message_get_date (fms->message, NULL);
return r;
}
@@ -358,8 +358,8 @@ get_received_date (struct _ESExp *f, int argc, struct _ESExpResult **argv, Filte
{
ESExpResult *r;
- r = e_sexp_result_new(f, ESEXP_RES_INT);
- r->value.number = camel_mime_message_get_date_received(fms->message, NULL);
+ r = e_sexp_result_new (f, ESEXP_RES_INT);
+ r->value.number = camel_mime_message_get_date_received (fms->message, NULL);
return r;
}
@@ -369,7 +369,7 @@ get_current_date (struct _ESExp *f, int argc, struct _ESExpResult **argv, Filter
{
ESExpResult *r;
- r = e_sexp_result_new(f, ESEXP_RES_INT);
+ r = e_sexp_result_new (f, ESEXP_RES_INT);
r->value.number = time (NULL);
return r;
@@ -383,7 +383,7 @@ get_score (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessage
tag = camel_tag_get (&fms->info->user_tags, "score");
- r = e_sexp_result_new(f, ESEXP_RES_INT);
+ r = e_sexp_result_new (f, ESEXP_RES_INT);
if (tag)
r->value.number = atoi (tag);
else
@@ -397,21 +397,19 @@ get_source (struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessag
{
ESExpResult *r;
- r = e_sexp_result_new(f, ESEXP_RES_STRING);
+ r = e_sexp_result_new (f, ESEXP_RES_STRING);
if (fms->source) {
r->value.string = e_url_shroud (fms->source);
} else {
- r->value.string = camel_mime_message_get_source (fms->message);
+ r->value.string = g_strdup (camel_mime_message_get_source (fms->message));
}
-
- g_message ("got source: [%s]", r->value.string);
return r;
}
gboolean
-camel_filter_search_match(CamelMimeMessage *message, CamelMessageInfo *info,
- const char *source, const char *expression, CamelException *ex)
+camel_filter_search_match (CamelMimeMessage *message, CamelMessageInfo *info,
+ const char *source, const char *expression, CamelException *ex)
{
FilterMessageSearch fms;
ESExp *sexp;
@@ -435,31 +433,30 @@ camel_filter_search_match(CamelMimeMessage *message, CamelMessageInfo *info,
e_sexp_input_text (sexp, expression, strlen (expression));
if (e_sexp_parse (sexp) == -1) {
- if (!camel_exception_is_set(ex))
- camel_exception_setv(ex, 1, _("Error executing filter search: %s: %s"), e_sexp_error(sexp), expression);
+ if (!camel_exception_is_set (ex))
+ camel_exception_setv (ex, 1, _("Error executing filter search: %s: %s"),
+ e_sexp_error (sexp), expression);
goto error;
}
result = e_sexp_eval (sexp);
if (result == NULL) {
- if (!camel_exception_is_set(ex))
- camel_exception_setv(ex, 1, _("Error executing filter search: %s: %s"), e_sexp_error(sexp), expression);
+ if (!camel_exception_is_set (ex))
+ camel_exception_setv (ex, 1, _("Error executing filter search: %s: %s"),
+ e_sexp_error (sexp), expression);
goto error;
}
-
+
if (result->type == ESEXP_RES_BOOL)
retval = result->value.bool;
else
retval = FALSE;
e_sexp_result_free (sexp, result);
- e_sexp_unref(sexp);
+ e_sexp_unref (sexp);
return retval;
-
+
error:
- e_sexp_unref(sexp);
+ e_sexp_unref (sexp);
return FALSE;
}
-
-
-