]> git.notmuchmail.org Git - notmuch/blobdiff - lib/message.cc
Simple attempt to display author names in a friendlier way
[notmuch] / lib / message.cc
index 01950505900f8d161701883b5b7a5e7dc5e67d26..4b2f98fd4f3426df992e2b845595cbf0ff937bfb 100644 (file)
@@ -35,6 +35,7 @@ struct _notmuch_message {
     char *thread_id;
     char *in_reply_to;
     char *filename;
+    char *author;
     notmuch_message_file_t *message_file;
     notmuch_message_list_t *replies;
     unsigned long flags;
@@ -110,6 +111,7 @@ _notmuch_message_create (const void *talloc_owner,
     message->in_reply_to = NULL;
     message->filename = NULL;
     message->message_file = NULL;
+    message->author = NULL;
 
     message->replies = _notmuch_message_list_create (message);
     if (unlikely (message->replies == NULL)) {
@@ -427,7 +429,7 @@ notmuch_message_get_filename (notmuch_message_t *message)
     const char *prefix = _find_prefix ("file-direntry");
     int prefix_len = strlen (prefix);
     Xapian::TermIterator i;
-    char *direntry, *colon;
+    char *colon, *direntry = NULL;
     const char *db_path, *directory, *basename;
     unsigned int directory_id;
     void *local = talloc_new (message);
@@ -533,6 +535,22 @@ notmuch_message_get_tags (notmuch_message_t *message)
     return _notmuch_convert_tags(message, i, end);
 }
 
+const char *
+notmuch_message_get_author (notmuch_message_t *message)
+{
+    return message->author;
+}
+
+void
+notmuch_message_set_author (notmuch_message_t *message,
+                           const char *author)
+{
+    if (message->author)
+       talloc_free(message->author);
+    message->author = talloc_strdup(message, author);
+    return;
+}
+
 void
 _notmuch_message_set_date (notmuch_message_t *message,
                           const char *date)
@@ -739,8 +757,8 @@ notmuch_message_remove_all_tags (notmuch_message_t *message)
        return status;
 
     for (tags = notmuch_message_get_tags (message);
-        notmuch_tags_has_more (tags);
-        notmuch_tags_advance (tags))
+        notmuch_tags_valid (tags);
+        notmuch_tags_move_to_next (tags))
     {
        tag = notmuch_tags_get (tags);