X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mh.c;h=63c7bd78b31215daf04c6e3cefa2d41c7c280609;hp=09a2fb3913c45a46cbe810c7604b84920a459b82;hb=fa4c2af84416f9b4663bb80d36faaba35db05524;hpb=238b70e39b78f585c586bd51aef41988b3cc73d1 diff --git a/mh.c b/mh.c index 09a2fb3..63c7bd7 100644 --- a/mh.c +++ b/mh.c @@ -56,9 +56,6 @@ struct maildir { HEADER *h; char *canon_fname; unsigned header_parsed:1; -#ifdef USE_INODESORT - ino_t inode; -#endif /* USE_INODESORT */ struct maildir *next; }; @@ -495,7 +492,7 @@ static void maildir_parse_flags (HEADER * h, const char *path) if ((p = strrchr (path, ':')) != NULL && m_strncmp(p + 1, "2,", 2) == 0) { p += 3; - str_replace (&h->maildir_flags, p); + m_strreplace(&h->maildir_flags, p); q = h->maildir_flags; while (*p) { @@ -649,9 +646,6 @@ static int maildir_parse_entry (CONTEXT * ctx, struct maildir ***last, entry = p_new(struct maildir, 1); entry->h = h; entry->header_parsed = (ctx->magic == M_MH); -#ifdef USE_INODESORT - entry->inode = inode; -#endif /* USE_INODESORT */ **last = entry; *last = &entry->next; @@ -760,85 +754,6 @@ static int maildir_move_to_context (CONTEXT * ctx, struct maildir **md) return r; } -#ifdef USE_INODESORT -/* - * Merge two maildir lists according to the inode numbers. - */ -static struct maildir *maildir_merge_inode (struct maildir *left, - struct maildir *right) -{ - struct maildir *head; - struct maildir *tail; - - if (left && right) { - if (left->inode < right->inode) { - head = left; - left = left->next; - } - else { - head = right; - right = right->next; - } - } - else { - if (left) - return left; - else - return right; - } - - tail = head; - - while (left && right) { - if (left->inode < right->inode) { - tail->next = left; - left = left->next; - } - else { - tail->next = right; - right = right->next; - } - tail = tail->next; - } - - if (left) { - tail->next = left; - } - else { - tail->next = right; - } - - return head; -} - -/* - * Sort maildir list according to inode. - */ -static struct maildir *maildir_sort_inode (struct maildir *list) -{ - struct maildir *left = list; - struct maildir *right = list; - - if (!list || !list->next) { - return list; - } - - list = list->next; - while (list && list->next) { - right = right->next; - list = list->next->next; - } - - list = right; - right = right->next; - list->next = 0; - - left = maildir_sort_inode (left); - right = maildir_sort_inode (right); - return maildir_merge_inode (left, right); -} -#endif /* USE_INODESORT */ - #ifdef USE_HCACHE static size_t maildir_hcache_keylen (const char *fn) { @@ -945,10 +860,6 @@ static int _mh_read_dir (CONTEXT * ctx, const char *subdir) mhs_free_sequences (&mhs); } -#ifdef USE_INODESORT - md = maildir_sort_inode (md); -#endif /* USE_INODESORT */ - if (ctx->magic == M_MAILDIR) maildir_delayed_parsing (ctx, md); @@ -1134,7 +1045,7 @@ static int maildir_commit_message (MESSAGE * msg, CONTEXT * ctx, HEADER * hdr) if (safe_rename (msg->path, full) == 0) { if (hdr) - str_replace (&hdr->path, path); + m_strreplace(&hdr->path, path); p_delete(&msg->path); /* @@ -1220,7 +1131,7 @@ static int _mh_commit_message (MESSAGE * msg, CONTEXT * ctx, HEADER * hdr, snprintf (path, sizeof (path), "%s/%s", ctx->path, tmp); if (safe_rename (msg->path, path) == 0) { if (hdr) - str_replace (&hdr->path, tmp); + m_strreplace(&hdr->path, tmp); p_delete(&msg->path); break; } @@ -1299,7 +1210,7 @@ static int mh_rewrite_message (CONTEXT * ctx, int msgno) if (ctx->magic == M_MH && rc == 0) { snprintf (newpath, _POSIX_PATH_MAX, "%s/%s", ctx->path, h->path); if ((rc = safe_rename (newpath, oldpath)) == 0) - str_replace (&h->path, partpath); + m_strreplace(&h->path, partpath); } } else @@ -1377,7 +1288,7 @@ static int maildir_sync_message (CONTEXT * ctx, int msgno) mutt_perror ("rename"); return (-1); } - str_replace (&h->path, partpath); + m_strreplace(&h->path, partpath); } return (0); } @@ -1631,7 +1542,7 @@ static int maildir_check_mailbox (CONTEXT * ctx, int *index_hint, int unused) * subdirectory. If so, update the associated filename. */ if (m_strcmp(ctx->hdrs[i]->path, p->h->path)) - str_replace (&ctx->hdrs[i]->path, p->h->path); + m_strreplace(&ctx->hdrs[i]->path, p->h->path); /* if the user hasn't modified the flags on this message, update * the flags we just detected.