{
while (a) {
if (a == b)
- return (1);
+ return 1;
a = a->parent;
}
- return (0);
+ return 0;
}
/* Determines whether to display a message's subject. */
/* if the user disabled subject hiding, display it */
if (!option (OPTHIDETHREADSUBJECT))
- return (1);
+ return 1;
/* if our subject is different from our parent's, display it */
if (hdr->subject_changed)
- return (1);
+ return 1;
/* if our subject is different from that of our closest previously displayed
* sibling, display the subject */
hdr = tmp->message;
if (hdr && VISIBLE (hdr, ctx)) {
if (hdr->subject_changed)
- return (1);
+ return 1;
else
break;
}
hdr = tmp->message;
if (hdr) {
if (VISIBLE (hdr, ctx))
- return (0);
+ return 0;
else if (hdr->subject_changed)
- return (1);
+ return 1;
}
}
/* if we have no visible parent or previous sibling, display the subject */
- return (1);
+ return 1;
}
static void linearize_tree (CONTEXT * ctx)
/* Since the graphics characters have a value >255, I have to resort to
* using escape sequences to pass the information to print_enriched_string().
* These are the macros M_TREE_* defined in mutt.h.
- *
- * ncurses should automatically use the default ASCII characters instead of
- * graphics chars on terminals which don't support them (see the man page
- * for curs_addch).
*/
void mutt_draw_tree (CONTEXT * ctx)
{
cur = cur->next;
}
- return (subjects);
+ return subjects;
}
/* find the best possible match for a parent mesage based upon subject.
subjects = subjects->next;
p_delete(&oldlist);
}
- return (last);
+ return last;
}
/* remove cur and its descendants from their current location.
ctx->tree = NULL;
if (ctx->thread_hash)
- hash_destroy (&ctx->thread_hash, free);
+ hash_delete (&ctx->thread_hash, free);
}
static int compare_threads (const void *a, const void *b)
else {
sort_func = NULL;
sort_func = mutt_get_sort_func (Sort);
- return (sort_func ? 1 : 0);
+ return sort_func ? 1 : 0;
}
}
*/
Sort ^= SORT_REVERSE;
if (!compare_threads (NULL, NULL))
- return (thread);
+ return thread;
top = thread;
else {
Sort ^= SORT_REVERSE;
p_delete(&array);
- return (top);
+ return top;
}
}
init = 1;
if (init)
- ctx->thread_hash = hash_create (ctx->msgcount * 2);
+ ctx->thread_hash = hash_new (ctx->msgcount * 2, 1);
/* we want a quick way to see if things are actually attached to the top of the
* thread tree or if they're just dangling, so we attach everything to a top
cur->thread = thread;
hash_insert (ctx->thread_hash,
cur->env->message_id ? cur->env->message_id : "",
- thread, 1);
+ thread);
if (new) {
if (new->duplicate_thread)
if ((new = hash_find (ctx->thread_hash, ref->data)) == NULL) {
new = p_new(THREAD, 1);
- hash_insert (ctx->thread_hash, ref->data, new, 1);
+ hash_insert (ctx->thread_hash, ref->data, new);
}
else {
if (new->duplicate_thread)
THREAD *top;
if (cur->message && cur->message->virtual >= 0)
- return (cur->message);
+ return cur->message;
top = cur;
if ((cur = cur->child) == NULL)
- return (NULL);
+ return NULL;
while (reverse && cur->next)
cur = cur->next;
for (;;) {
if (cur->message && cur->message->virtual >= 0)
- return (cur->message);
+ return cur->message;
if (cur->child) {
cur = cur->child;
while (!(reverse ? cur->prev : cur->next)) {
cur = cur->parent;
if (cur == top)
- return (NULL);
+ return NULL;
}
cur = reverse ? cur->prev : cur->next;
}
if ((Sort & SORT_MASK) != SORT_THREADS) {
mutt_error _("Threading is not enabled.");
- return (hdr->virtual);
+ return hdr->virtual;
}
cur = hdr->thread;
do {
cur = cur->next;
if (!cur)
- return (-1);
+ return -1;
tmp = find_virtual (cur, 0);
} while (!tmp);
}
do {
cur = cur->prev;
if (!cur)
- return (-1);
+ return -1;
tmp = find_virtual (cur, 1);
} while (!tmp);
}
- return (tmp->virtual);
+ return tmp->virtual;
}
int mutt_parent_message (CONTEXT * ctx, HEADER * hdr)
if ((Sort & SORT_MASK) != SORT_THREADS) {
mutt_error _("Threading is not enabled.");
- return (hdr->virtual);
+ return hdr->virtual;
}
for (thread = hdr->thread->parent; thread; thread = thread->parent) {
if ((hdr = thread->message) != NULL) {
if (VISIBLE (hdr, ctx))
- return (hdr->virtual);
+ return hdr->virtual;
else {
mutt_error _("Parent message is not visible in this limited view.");
- return (-1);
+ return -1;
}
}
}
mutt_error _("Parent message is not available.");
- return (-1);
+ return -1;
}
void mutt_set_virtual (CONTEXT * ctx)
if ((Sort & SORT_MASK) != SORT_THREADS && !(flag & M_THREAD_GET_HIDDEN)) {
mutt_error (_("Threading is not enabled."));
- return (cur->virtual);
+ return cur->virtual;
}
final = cur->virtual;
if (thread == top && (thread = thread->child) == NULL) {
/* return value depends on action requested */
if (flag & (M_THREAD_COLLAPSE | M_THREAD_UNCOLLAPSE))
- return (final);
+ return final;
else if (flag & M_THREAD_UNREAD)
- return ((old && new) ? new : (old ? old : new));
+ return (old && new) ? new : (old ? old : new);
else if (flag & M_THREAD_GET_HIDDEN)
- return (num_hidden);
+ return num_hidden;
else if (flag & M_THREAD_NEXT_UNREAD)
- return (min_unread);
+ return min_unread;
}
for (;;) {
/* return value depends on action requested */
if (flag & (M_THREAD_COLLAPSE | M_THREAD_UNCOLLAPSE))
- return (final);
+ return final;
else if (flag & M_THREAD_UNREAD)
- return ((old && new) ? new : (old ? old : new));
+ return (old && new) ? new : (old ? old : new);
else if (flag & M_THREAD_GET_HIDDEN)
- return (num_hidden + 1);
+ return num_hidden + 1;
else if (flag & M_THREAD_NEXT_UNREAD)
- return (min_unread);
+ return min_unread;
- return (0);
+ return 0;
#undef CHECK_LIMIT
}
int i, rc;
if ((Sort & SORT_MASK) != SORT_THREADS || !hdr->thread)
- return (1);
+ return 1;
threads[0] = hdr->thread;
while (threads[0]->parent)
if (flag)
rc += 1;
- return (rc);
+ return rc;
}
-HASH *mutt_make_id_hash (CONTEXT * ctx)
+hash_t *mutt_make_id_hash (CONTEXT * ctx)
{
int i;
HEADER *hdr;
- HASH *hash;
+ hash_t *hash;
- hash = hash_create (ctx->msgcount * 2);
+ hash = hash_new (ctx->msgcount * 2, 0);
for (i = 0; i < ctx->msgcount; i++) {
hdr = ctx->hdrs[i];
if (hdr->env->message_id)
- hash_insert (hash, hdr->env->message_id, hdr, 0);
+ hash_insert (hash, hdr->env->message_id, hdr);
}
return hash;
}
-HASH *mutt_make_subj_hash (CONTEXT * ctx)
+hash_t *mutt_make_subj_hash (CONTEXT * ctx)
{
int i;
HEADER *hdr;
- HASH *hash;
+ hash_t *hash;
- hash = hash_create (ctx->msgcount * 2);
+ hash = hash_new (ctx->msgcount * 2, 1);
for (i = 0; i < ctx->msgcount; i++) {
hdr = ctx->hdrs[i];
if (hdr->env->real_subj)
- hash_insert (hash, hdr->env->real_subj, hdr, 1);
+ hash_insert(hash, hdr->env->real_subj, hdr);
}
return hash;