static gboolean vee_info_user_flag (const CamelMessageInfo *mi, const gchar *id) { CamelMessageInfo *rmi = camel_folder_summary_uid (((CamelVeeMessageInfo *)mi)->summary, mi->uid+8); gboolean ret; HANDLE_NULL_INFO (FALSE); ret = camel_message_info_user_flag (rmi, id); camel_message_info_free (rmi); return ret; }
static CamelSExpResult * user_flag (struct _CamelSExp *f, gint argc, struct _CamelSExpResult **argv, FilterMessageSearch *fms) { CamelSExpResult *r; gboolean truth = FALSE; gint i; /* performs an OR of all words */ for (i = 0; i < argc && !truth; i++) { if (argv[i]->type == CAMEL_SEXP_RES_STRING && camel_message_info_user_flag (fms->info, argv[i]->value.string)) { truth = TRUE; break; } } r = camel_sexp_result_new (f, CAMEL_SEXP_RES_BOOL); r->value.boolean = truth; return r; }