X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-index-message.cc;h=5396cd19458fe0b5fc2833545da9aa6b7c345fe0;hp=3bb62f659dcdc29515bb03c616a56db569b586a3;hb=870b3987265f74ed8b45ba0e7d7edfcca1923b5a;hpb=27c01802c89fb825c144ead13de0f6d6437ba997 diff --git a/notmuch-index-message.cc b/notmuch-index-message.cc index 3bb62f65..5396cd19 100644 --- a/notmuch-index-message.cc +++ b/notmuch-index-message.cc @@ -269,12 +269,23 @@ static void insert_thread_id (GHashTable *thread_ids, Xapian::Document doc) { string value_string; - const char *value; + const char *value, *id, *comma; value_string = doc.get_value (NOTMUCH_VALUE_THREAD); value = value_string.c_str(); - if (strlen (value)) - g_hash_table_insert (thread_ids, strdup (value), NULL); + if (strlen (value)) { + id = value; + while (*id) { + comma = strchr (id, ','); + if (comma == NULL) + comma = id + strlen (id); + g_hash_table_insert (thread_ids, + strndup (id, comma - id), NULL); + id = comma; + if (*id) + id++; + } + } } /* Return one or more thread_ids, (as a GPtrArray of strings), for the