X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=lib%2Fnotmuch-private.h;h=5a0cf92540619ff5fa50951c5326c84e191051b8;hb=f7a688ec5314e668a6976805ae88d4e62f7cbd89;hp=6e83cc376c2588ea842967fd9bd5b730dc052bbf;hpb=57561414d76297c16b4b6f3da570f14b4ddf020c;p=notmuch diff --git a/lib/notmuch-private.h b/lib/notmuch-private.h index 6e83cc37..5a0cf925 100644 --- a/lib/notmuch-private.h +++ b/lib/notmuch-private.h @@ -108,6 +108,16 @@ typedef enum { * programmatically. */ #define NOTMUCH_TERM_MAX 245 +#define NOTMUCH_METADATA_THREAD_ID_PREFIX "thread_id_" + +/* For message IDs we have to be even more restrictive. Beyond fitting + * into the term limit, we also use message IDs to construct + * metadata-key values. And the documentation says that these should + * be restricted to about 200 characters. (The actual limit for the + * chert backend at least is 252.) + */ +#define NOTMUCH_MESSAGE_ID_MAX (200 - sizeof (NOTMUCH_METADATA_THREAD_ID_PREFIX)) + typedef enum _notmuch_private_status { /* First, copy all the public status values. */ NOTMUCH_PRIVATE_STATUS_SUCCESS = NOTMUCH_STATUS_SUCCESS, @@ -167,6 +177,9 @@ _notmuch_database_split_path (void *ctx, const char * _notmuch_database_get_directory_db_path (const char *path); +unsigned int +_notmuch_database_generate_doc_id (notmuch_database_t *notmuch); + notmuch_private_status_t _notmuch_database_find_unique_doc_id (notmuch_database_t *notmuch, const char *prefix_name, @@ -344,6 +357,9 @@ notmuch_message_file_restrict_headersv (notmuch_message_file_t *message, * * The header name is case insensitive. * + * The Received: header is special - for it all Received: headers in + * the message are concatenated + * * The returned value is owned by the notmuch message and is valid * only until the message is closed. The caller should copy it if * needing to modify the value or to hold onto it for longer.