Implement a pseudo-header "x-camel-mlist" which just looks up in the
2001-02-23 Not Zed <NotZed@Ximian.com> * camel-filter-search.c (check_header): Implement a pseudo-header "x-camel-mlist" which just looks up in the message info for a match. * camel-folder-search.c (check_header): Add pseudo-header "x-camel-mlist" which can be used to match on mailing list. svn path=/trunk/; revision=8355
This commit is contained in:
@ -1,5 +1,12 @@
|
||||
2001-02-23 Not Zed <NotZed@Ximian.com>
|
||||
|
||||
* camel-filter-search.c (check_header): Implement a pseudo-header
|
||||
"x-camel-mlist" which just looks up in the message info for a
|
||||
match.
|
||||
|
||||
* camel-folder-search.c (check_header): Add pseudo-header
|
||||
"x-camel-mlist" which can be used to match on mailing list.
|
||||
|
||||
* providers/imap/camel-imap-folder.c (imap_sync): Add some
|
||||
internal progress reporting.
|
||||
(imap_rescan): Do some progress reporting.
|
||||
|
||||
@ -104,7 +104,13 @@ check_header(struct _ESExp *f, int argc, struct _ESExpResult **argv, FilterMessa
|
||||
int i;
|
||||
|
||||
if (argc > 1 && argv[0]->type == ESEXP_RES_STRING) {
|
||||
const char *header = camel_medium_get_header (CAMEL_MEDIUM (fms->message), argv[0]->value.string);
|
||||
char *name = argv[0]->value.string;
|
||||
const char *header;
|
||||
|
||||
if (strcasecmp(name, "x-camel-mlist") == 0)
|
||||
header = camel_message_info_mlist(fms->info);
|
||||
else
|
||||
header = camel_medium_get_header (CAMEL_MEDIUM (fms->message), argv[0]->value.string);
|
||||
|
||||
if (header) {
|
||||
for (i=1;i<argc && !matched;i++) {
|
||||
|
||||
@ -544,6 +544,8 @@ check_header(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolder
|
||||
header = camel_message_info_to(search->current);
|
||||
} else if (!strcasecmp(headername, "cc")) {
|
||||
header = camel_message_info_cc(search->current);
|
||||
} else if (!strcasecmp(headername, "x-camel-mlist")) {
|
||||
header = camel_message_info_mlist(search->current);
|
||||
} else {
|
||||
e_sexp_resultv_free(f, argc, argv);
|
||||
e_sexp_fatal_error(f, _("Performing query on unknown header: %s"), headername);
|
||||
@ -849,4 +851,3 @@ search_get_current_date(struct _ESExp *f, int argc, struct _ESExpResult **argv,
|
||||
r->value.number = time (NULL);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
@ -102,6 +102,9 @@ struct _CamelFolderSearchClass {
|
||||
|
||||
/* (get-current-date) Retrieve 'now' as a time_t */
|
||||
ESExpResult * (*get_current_date)(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
|
||||
/* (mlist-matches "mlist" ...) True if one of the mailing list matches */
|
||||
ESExpResult * (*mlist_matches)(struct _ESExp *f, int argc, struct _ESExpResult **argv, CamelFolderSearch *s);
|
||||
};
|
||||
|
||||
guint camel_folder_search_get_type (void);
|
||||
|
||||
Reference in New Issue
Block a user