/* 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)
{
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)
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)
}
-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;
}
-static void clean_references (THREAD * brk, THREAD * cur)
+static void clean_references (THREAD * tbrk, THREAD * cur)
{
THREAD *p;
string_list_t *ref = NULL;
for (; cur; cur = cur->next, done = 0) {
/* parse subthread recursively */
- clean_references (brk, cur->child);
+ clean_references (tbrk, cur->child);
if (!cur->message)
break; /* skip pseudo-message */
/* Looking for the first bad reference according to the new threading.
* Optimal since Mutt stores the references in reverse order, and the
* first loop should match immediatly for mails respecting RFC2822. */
- for (p = brk; !done && p; p = p->parent)
+ for (p = tbrk; !done && p; p = p->parent)
for (ref = cur->message->env->references; p->message && ref;
ref = ref->next)
if (!m_strcasecmp(ref->data, p->message->env->message_id)) {