From f8af67ba35cb4dee7015de7199f34fb141948c6e Mon Sep 17 00:00:00 2001 From: pdmef Date: Thu, 10 Mar 2005 14:59:54 +0000 Subject: [PATCH] Rocco Rutte: reverted buffy behaviour to not sort mailboxes anymore git-svn-id: svn://svn.berlios.de/mutt-ng/trunk@163 e385b8ad-14ed-0310-8656-cc95a2468c6d --- buffy.c | 60 ++++++++++++--------------------------------------------- 1 file changed, 12 insertions(+), 48 deletions(-) diff --git a/buffy.c b/buffy.c index ca84ce9..e486aba 100644 --- a/buffy.c +++ b/buffy.c @@ -174,25 +174,12 @@ void mutt_update_mailbox (BUFFY * b) int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *err) { - BUFFY **tmp,*tmp1,*last; + BUFFY **tmp,*tmp1; char buf[_POSIX_PATH_MAX]; - int dup = 0; #ifdef BUFFY_SIZE struct stat sb; #endif /* BUFFY_SIZE */ - /* - * FIXME - * to get rid of correcting the ->prev pointers in sidebar.c, - * correct them right here - */ - - /* - * FIXME - * if we really want to make the sort order of the sidebar - * configurable, this has to go right here - */ - while (MoreArgs (s)) { mutt_extract_token (path, s, 0); @@ -216,19 +203,12 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e if(!*buf) continue; /* simple check to avoid duplicates */ - dup = 0; - for (tmp = &Incoming; *tmp && dup == 0; tmp = &((*tmp)->next)) + for (tmp = &Incoming; *tmp; tmp = &((*tmp)->next)) { - if (mutt_strcmp (buf, (*tmp)->path) == 0) { - dup = 1; - break; - } + if (mutt_strcmp (buf, (*tmp)->path) == 0) + break; } - if (dup == 1) - continue; - tmp = &Incoming; - if(data == M_UNMAILBOXES) { if(*tmp) @@ -241,32 +221,16 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e continue; } - /* loop over list while it's sorted */ - tmp1 = NULL; - last = NULL; - for (tmp = &Incoming; *tmp ; tmp = &((*tmp)->next)) { - /* - * FIXME - * change this to get whatever sorting order - */ - if (mutt_strcmp (buf, (*tmp)->path) < 0) { - tmp1 = (*tmp); - break; - } - last = (*tmp); + if (!*tmp) + { + *tmp = (BUFFY *) safe_calloc (1, sizeof (BUFFY)); + (*tmp)->path = safe_strdup (buf); + (*tmp)->next = NULL; + /* it is tempting to set magic right here */ + (*tmp)->magic = 0; + } - /* we want: last -> tmp -> tmp1 */ - *tmp = (BUFFY *) safe_calloc (1, sizeof (BUFFY)); - (*tmp)->path = safe_strdup (buf); - (*tmp)->magic = 0; - - /* correct pointers */ - (*tmp)->next = tmp1; - if (last) - last->next = (*tmp); - - /* left as-is */ (*tmp)->new = 0; (*tmp)->notified = 1; (*tmp)->newly_created = 0; -- 2.20.1