- notmuch_thread_ids_t *thread_ids;
- std::string id_str;
-
- thread_ids = talloc (message, notmuch_thread_ids_t);
- if (unlikely (thread_ids == NULL))
- return NULL;
-
- id_str = message->doc.get_value (NOTMUCH_VALUE_THREAD);
- thread_ids->next = talloc_strdup (message, id_str.c_str ());
-
- /* Initialize thread_ids->current and terminate first ID. */
- notmuch_thread_ids_advance (thread_ids);
-
- return thread_ids;
+ return _notmuch_terms_create_type (message, message->doc, "thread",
+ notmuch_thread_ids_t);