Pick the mbox name dynamically so that it is not currently used in another buffer.
[mymail.git] / mymail.c
index dcb44bf..abd4658 100644 (file)
--- a/mymail.c
+++ b/mymail.c
@@ -56,7 +56,7 @@ enum {
   ID_FROM,
   ID_DEST,
   ID_SUBJECT,
-  ID_FROMDEST,
+  ID_PARTICIPANT,
   MAX_ID
 };
 
@@ -64,8 +64,8 @@ static char *field_names[] = {
   "mail",
   "from",
   "dest",
-  "subj",
-  "fromdest"
+  "subject",
+  "part"
 };
 
 struct parsable_field {
@@ -143,7 +143,11 @@ int ignore_entry(const char *name) {
 
 int mbox_line_match_search(int search_id, regex_t *search_regexp,
                            int mbox_id, char *mbox_value) {
-  return search_id == mbox_id && regexec(search_regexp, mbox_value, 0, 0, 0) == 0;
+  return
+    (search_id == mbox_id ||
+     (search_id == ID_PARTICIPANT && (mbox_id == ID_FROM || mbox_id == ID_DEST)))
+    &&
+    regexec(search_regexp, mbox_value, 0, 0, 0) == 0;
 }
 
 void search_in_db(int nb_search_patterns,