OUTPUT_SENDER = 1 << 5,
OUTPUT_RECIPIENTS = 1 << 6,
OUTPUT_COUNT = 1 << 7,
+ OUTPUT_ADDRESS = 1 << 8,
} output_t;
typedef enum {
int files = notmuch_thread_get_total_files (thread);
int total = notmuch_thread_get_total_messages (thread);
const char *relative_date = NULL;
- notmuch_bool_t first_tag = TRUE;
+ bool first_tag = true;
format->begin_map (format);
if (format->is_text_printer) {
/* Special case for the text formatter */
if (first_tag)
- first_tag = FALSE;
+ first_tag = false;
else
fputc (' ', stdout);
fputs (tag, stdout);
return ret;
}
-/* Returns TRUE iff name and addr is duplicate. If not, stores the
+/* Returns true iff name and addr is duplicate. If not, stores the
* name/addr pair in order to detect subsequent duplicates. */
-static notmuch_bool_t
+static bool
is_duplicate (const search_context_t *ctx, const char *name, const char *addr)
{
char *key;
if (l) {
mailbox = l->data;
mailbox->count++;
- return TRUE;
+ return true;
}
mailbox = new_mailbox (ctx->format, name, addr);
if (! mailbox)
- return FALSE;
+ return false;
/*
* XXX: It would be more efficient to prepend to the list, but
if (list != g_list_append (list, mailbox))
INTERNAL_ERROR ("appending to list changed list head\n");
- return FALSE;
+ return false;
}
key = talloc_strdup (ctx->format, addr);
if (! key)
- return FALSE;
+ return false;
mailbox = new_mailbox (ctx->format, name, addr);
if (! mailbox)
- return FALSE;
+ return false;
list = g_list_append (NULL, mailbox);
if (! list)
- return FALSE;
+ return false;
g_hash_table_insert (ctx->addresses, key, list);
- return FALSE;
+ return false;
}
static void
/* name_addr has the name part quoted if necessary. Compare
* 'John Doe <john@doe.com>' vs. '"Doe, John" <john@doe.com>' */
- name_addr = internet_address_to_string (ia, FALSE);
+ name_addr = internet_address_to_string (ia, NULL, false);
if (format->is_text_printer) {
if (ctx->output & OUTPUT_COUNT) {
format->integer (format, count);
format->string (format, "\t");
}
- format->string (format, name_addr);
+ if (ctx->output & OUTPUT_ADDRESS)
+ format->string (format, addr);
+ else
+ format->string (format, name_addr);
format->separator (format);
} else {
format->begin_map (format);
if (value == NULL)
return;
- list = internet_address_list_parse_string (value);
+ list = internet_address_list_parse (NULL, value);
if (list == NULL)
return;
(notmuch_keyword_t []){ { "sender", OUTPUT_SENDER },
{ "recipients", OUTPUT_RECIPIENTS },
{ "count", OUTPUT_COUNT },
+ { "address", OUTPUT_ADDRESS },
{ 0, 0 } } },
{ .opt_keyword = &ctx->exclude, .name = "exclude", .keywords =
(notmuch_keyword_t []){ { "true", NOTMUCH_EXCLUDE_TRUE },