X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=browser.c;h=1dbc64433aaf88cd408f9f97d28aa34a8faf6fac;hp=ab296af7287622d7af0631b9734d2364205614e2;hb=1fb9b0f4797559d8269d2dd012f005af7f5e560b;hpb=c3e57678c8be193fc137854020f3a90887be97c9 diff --git a/browser.c b/browser.c index ab296af..1dbc644 100644 --- a/browser.c +++ b/browser.c @@ -27,6 +27,11 @@ #endif #include "sidebar.h" +#include "lib/mem.h" +#include "lib/intl.h" +#include "lib/str.h" +#include "lib/list.h" + #include #include #include @@ -479,7 +484,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state, if (!(data = (NNTP_DATA *) tmp->data)) continue; if (prefix && *prefix && strncmp (prefix, data->group, - strlen (prefix)) != 0) + mutt_strlen (prefix)) != 0) continue; if (!((regexec (Mask.rx, data->group, 0, NULL, 0) == 0) ^ Mask.not)) continue; @@ -493,7 +498,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state, DIR *dp; struct dirent *de; char buffer[_POSIX_PATH_MAX + SHORT_STRING]; - BUFFY *tmp; + int i = -1; while (stat (d, &s) == -1) { if (errno == ENOENT) { @@ -541,14 +546,12 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state, (!S_ISLNK (s.st_mode))) continue; - tmp = Incoming; - while (tmp && mutt_strcmp (buffer, tmp->path)) - tmp = tmp->next; - add_folder (menu, state, de->d_name, &s, NULL, (tmp) ? tmp->new : 0); + i = buffy_lookup (buffer); + add_folder (menu, state, de->d_name, &s, NULL, i >= 0 ? ((BUFFY*) Incoming->data[i])->new : 0); } closedir (dp); } - draw_sidebar (CurrentMenu); + sidebar_draw (CurrentMenu); browser_sort (state); return 0; } @@ -581,7 +584,8 @@ static int examine_mailboxes (MUTTMENU * menu, struct browser_state *state) else #endif { - BUFFY *tmp = Incoming; + int i = 0; + BUFFY* tmp; if (!Incoming) return (-1); @@ -589,7 +593,8 @@ static int examine_mailboxes (MUTTMENU * menu, struct browser_state *state) init_state (state, menu); - do { + for (i = 0; i < Incoming->length; i++) { + tmp = (BUFFY*) Incoming->data[i]; #ifdef USE_IMAP if (mx_is_imap (tmp->path)) { add_folder (menu, state, tmp->path, NULL, NULL, tmp->new); @@ -620,7 +625,6 @@ static int examine_mailboxes (MUTTMENU * menu, struct browser_state *state) add_folder (menu, state, buffer, &s, NULL, tmp->new); } - while ((tmp = tmp->next)); } browser_sort (state); return 0; @@ -914,7 +918,7 @@ void _mutt_select_file (char *f, size_t flen, int flags, char ***files, strfcpy (LastDir, state.entry[menu->current].name, sizeof (LastDir)); /* tack on delimiter here */ - n = strlen (LastDir) + 1; + n = mutt_strlen (LastDir) + 1; /* special case "" needs no delimiter */ url_parse_ciss (&url, state.entry[menu->current].name);