- for (i = 0; i < sizeof(to_headers)/sizeof(*to_headers); i++) {
- tohdr = xstrdup(notmuch_message_get_header (message, to_headers[i]));
- if (tohdr && *tohdr) {
- /* tohdr is potentialy a list of email addresses, so here we
- * check if one of the email addresses is a substring of tohdr
- */
- if (strcasestr(tohdr, primary)) {
- free(tohdr);
- return primary;
- }
- for (j = 0; j < other_len; j++)
- if (strcasestr (tohdr, other[j])) {
- free(tohdr);
- return other[j];
- }
- free(tohdr);
- }
+ for (i = 0; i < ARRAY_SIZE (to_headers); i++) {
+ const char *tohdr = notmuch_message_get_header (message, to_headers[i]);
+
+ /* Note: tohdr potentially contains a list of email addresses. */
+ addr = user_address_in_string (tohdr, config);
+ if (addr)
+ return addr;