]> git.notmuchmail.org Git - notmuch/blobdiff - message.cc
Drop date.c file, (use identical function from GMime instead).
[notmuch] / message.cc
index dfd55d596e21af0cac4d79416f9029644a5f4d75..154efa0fd47ebde90460ed1516256715b902f723 100644 (file)
@@ -21,6 +21,8 @@
 #include "notmuch-private.h"
 #include "database-private.h"
 
+#include <gmime/gmime.h>
+
 #include <xapian.h>
 
 struct _notmuch_message {
@@ -267,6 +269,17 @@ notmuch_message_get_all_headers (notmuch_message_t *message)
     return notmuch_message_file_get_all_headers (message->message_file);
 }
 
+size_t
+notmuch_message_get_header_size (notmuch_message_t *message)
+{
+    _notmuch_message_ensure_message_file (message);
+    if (message->message_file == NULL)
+       return 0;
+
+    return notmuch_message_file_get_header_size (message->message_file);
+
+}
+
 const char *
 notmuch_message_get_thread_id (notmuch_message_t *message)
 {
@@ -359,6 +372,21 @@ notmuch_message_get_filename (notmuch_message_t *message)
     return message->filename;
 }
 
+time_t
+notmuch_message_get_date (notmuch_message_t *message)
+{
+    std::string value;
+
+    try {
+       value = message->doc.get_value (NOTMUCH_VALUE_TIMESTAMP);
+    } catch (Xapian::Error &error) {
+       INTERNAL_ERROR ("Failed to read timestamp value from document.");
+       return 0;
+    }
+
+    return Xapian::sortable_unserialise (value);
+}
+
 notmuch_tags_t *
 notmuch_message_get_tags (notmuch_message_t *message)
 {
@@ -402,7 +430,7 @@ _notmuch_message_set_date (notmuch_message_t *message,
 {
     time_t time_value;
 
-    time_value = notmuch_parse_date (date, NULL);
+    time_value = g_mime_utils_header_decode_date (date, NULL);
 
     message->doc.add_value (NOTMUCH_VALUE_TIMESTAMP,
                            Xapian::sortable_serialise (time_value));