137 while (reverse && cur->
next)
149 while (reverse && cur->
next)
152 else if (reverse ? cur->
prev : cur->
next)
153 cur = reverse ? cur->
prev : cur->
next;
156 while (!(reverse ? cur->
prev : cur->
next))
162 cur = reverse ? cur->
prev : cur->
next;
178 for (; cur; cur = cur->
next, done =
false)
192 p->message && ref; ref =
STAILQ_NEXT(ref, entries))
struct MuttThread * next
Next sibling Thread.
void thread_hash_destructor(int type, void *obj, intptr_t data)
Hash Destructor callback - Implements hash_hdata_free_t.
The envelope/body of an email.
struct Email * find_virtual(struct MuttThread *cur, int reverse)
Find an email with a Virtual message number.
struct MuttThread * thread
Thread of Emails.
bool changed
Email has been edited.
struct MuttThread * parent
Parent of this Thread.
void mutt_list_free(struct ListHead *h)
Free a List AND its strings.
unsigned char changed
Changed fields, e.g. MUTT_ENV_CHANGED_SUBJECT.
struct ListHead in_reply_to
in-reply-to header content
struct MuttThread * prev
Previous sibling Thread.
Representation of an email.
Create/manipulate threading in emails.
struct Envelope * env
Envelope information.
void mutt_break_thread(struct Email *e)
Break the email Thread.
bool mutt_istr_equal(const char *a, const char *b)
Compare two strings, ignoring case.
struct MuttThread * child
Child of this Thread.
struct Email * sort_key
Email that this Thread is sorted against.
Representation of an email header (envelope)
void clean_references(struct MuttThread *brk, struct MuttThread *cur)
Update email references for a broken Thread.
int vnum
Virtual message number.
#define STAILQ_NEXT(elm, field)
struct Email * message
Email this Thread refers to.
void unlink_message(struct MuttThread **old, struct MuttThread *cur)
Break the message out of the thread.
void insert_message(struct MuttThread **add, struct MuttThread *parent, struct MuttThread *cur)
Insert a message into a thread.
#define MUTT_ENV_CHANGED_REFS
References changed to break thread.
bool is_descendant(struct MuttThread *a, struct MuttThread *b)
Is one thread a descendant of another.
#define MUTT_ENV_CHANGED_IRT
In-Reply-To changed to link/break threads.
Convenience wrapper for the library headers.
struct ListHead references
message references (in reverse order)
#define STAILQ_FIRST(head)
#define STAILQ_REMOVE_AFTER(head, elm, field)