X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=browser.c;h=fd927536c9b4a8729de835c379ced69ecfb73864;hp=12c41a9ee5ecf662eb0a32d3207b67c0aee03414;hb=10ed4484b3d4bafd7a7aa287097fd612f7b9034a;hpb=56025510c87ad388a257fcbd8b369b0edcf97c34 diff --git a/browser.c b/browser.c index 12c41a9..fd92753 100644 --- a/browser.c +++ b/browser.c @@ -7,45 +7,28 @@ * please see the file GPL in the top level source directory. */ -#if HAVE_CONFIG_H -# include "config.h" -#endif +#include -#include #include -#include -#include -#include -#include -#include #include #include -#include -#include -#include -#include -#include - #include #include #include +#include +#include #include "mutt.h" -#include "mx.h" #include "buffy.h" #include "sort.h" #include "browser.h" #include "attach.h" #include -#include #ifdef USE_NNTP -#include "nntp.h" +#include #endif -#include "sidebar.h" - -#include "lib/list.h" static struct mapping_t FolderHelp[] = { {N_("Exit"), OP_EXIT}, @@ -168,7 +151,7 @@ static const char *folder_format_str (char *dest, ssize_t destlen, char op, const char *elsestring, unsigned long data, format_flag flags) { - char fn[SHORT_STRING], tmp[SHORT_STRING], permission[11], date[16]; + char fn[STRING], tmp[STRING], permission[11], date[16]; const char *t_fmt; time_t tnow; FOLDER *folder = (FOLDER *) data; @@ -333,7 +316,7 @@ static const char *newsgroup_format_str (char *dest, ssize_t destlen, char op, unsigned long data, format_flag flags) { - char fn[SHORT_STRING], tmp[SHORT_STRING]; + char fn[STRING], tmp[STRING]; FOLDER *folder = (FOLDER *) data; switch (op) { @@ -479,8 +462,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state, if (!(data = (NNTP_DATA *) tmp->data)) continue; nntp_sync_sidebar (data); - if (prefix && *prefix && strncmp (prefix, data->group, - m_strlen(prefix)) != 0) + if (m_strncmp (prefix, data->group, m_strlen(prefix)) != 0) continue; if (!((regexec (Mask.rx, data->group, 0, NULL, 0) == 0) ^ Mask.not)) continue; @@ -490,7 +472,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state, add_folder (menu, state, data->group, NULL, data->new); #endif } - sidebar_draw (CurrentMenu); + sidebar_draw (); } else #endif /* USE_NNTP */ @@ -498,7 +480,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state, struct stat s; DIR *dp; struct dirent *de; - char buffer[_POSIX_PATH_MAX + SHORT_STRING]; + char buffer[_POSIX_PATH_MAX + STRING]; int i = -1; while (stat (d, &s) == -1) { @@ -533,8 +515,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state, if (m_strcmp(de->d_name, ".") == 0) continue; /* we don't need . */ - if (prefix && *prefix - && m_strncmp(prefix, de->d_name, m_strlen(prefix)) != 0) + if (m_strncmp(prefix, de->d_name, m_strlen(prefix)) != 0) continue; if (!((regexec (Mask.rx, de->d_name, 0, NULL, 0) == 0) ^ Mask.not)) continue; @@ -549,14 +530,14 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state, i = buffy_lookup (buffer); #ifdef USE_NNTP - add_folder (menu, state, de->d_name, &s, NULL, i >= 0 ? ((BUFFY*) Incoming->data[i])->new : 0); + add_folder (menu, state, de->d_name, &s, NULL, i >= 0 ? Incoming.arr[i]->new : 0); #else - add_folder (menu, state, de->d_name, &s, i >= 0 ? ((BUFFY*) Incoming->data[i])->new : 0); + add_folder (menu, state, de->d_name, &s, i >= 0 ? Incoming.arr[i]->new : 0); #endif } closedir (dp); } - sidebar_draw (CurrentMenu); + sidebar_draw (); browser_sort (state); return 0; } @@ -584,22 +565,22 @@ static int examine_mailboxes (MUTTMENU * menu, struct browser_state *state) (!option (OPTSHOWONLYUNREAD)|| data->unread)))) add_folder (menu, state, data->group, NULL, data, data->new); } - sidebar_draw (CurrentMenu); + sidebar_draw (); } else #endif { - unsigned int i = 0; + int i = 0; BUFFY* tmp; - if (!Incoming) + if (!Incoming.len) return (-1); buffy_check (0); init_state (state, menu); - for (i = 0; i < Incoming->length; i++) { - tmp = (BUFFY*) Incoming->data[i]; + for (i = 0; i < Incoming.len; i++) { + tmp = Incoming.arr[i]; tmp->magic = mx_get_magic (tmp->path); if (tmp->magic == M_IMAP) { #ifdef USE_NNTP @@ -736,7 +717,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files, { char buf[_POSIX_PATH_MAX]; char prefix[_POSIX_PATH_MAX] = ""; - char helpstr[SHORT_STRING]; + char helpstr[STRING]; char title[STRING]; struct browser_state state; MUTTMENU *menu; @@ -797,7 +778,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files, } else { if (f[0] == '/') - strcpy (LastDir, "/"); /* __STRCPY_CHECKED__ */ + m_strcpy(LastDir, sizeof(LastDir), "/"); else getcwd (LastDir, sizeof (LastDir)); } @@ -888,7 +869,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files, if (m_strcmp(state.entry[menu->current].name, "..") == 0) { if (m_strcmp("..", LastDir + m_strlen(LastDir) - 2) == 0) - strcat (LastDir, "/.."); /* __STRCAT_CHECKED__ */ + m_strcat(LastDir, sizeof(LastDir), "/.."); else { char *p = strrchr (LastDir + 1, '/'); @@ -898,7 +879,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files, if (LastDir[0] == '/') LastDir[1] = 0; else - strcat (LastDir, "/.."); /* __STRCAT_CHECKED__ */ + m_strcat(LastDir, sizeof(LastDir), "/.."); } } } @@ -1073,7 +1054,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files, if (!state.entry[menu->current].imap) mutt_error (_("Delete is only supported for IMAP mailboxes")); else { - char msg[SHORT_STRING]; + char msg[STRING]; IMAP_MBOX mx; int nentry = menu->current; @@ -1339,7 +1320,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files, b = mutt_make_file_attach (nbuf); if (b != NULL) { mutt_view_attachment (NULL, b, M_REGULAR, NULL, NULL, 0); - mutt_free_body (&b); + body_list_wipe(&b); menu->redraw = REDRAW_FULL; } else @@ -1351,29 +1332,15 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files, case OP_CATCHUP: case OP_UNCATCHUP: if (option (OPTNEWS)) { - struct folder_file *f = &state.entry[menu->current]; + struct folder_file *folder_f = &state.entry[menu->current]; NNTP_DATA *nd; if (i == OP_CATCHUP) - nd = mutt_newsgroup_catchup (CurrentNewsSrv, f->name); + nd = mutt_newsgroup_catchup (CurrentNewsSrv, folder_f->name); else - nd = mutt_newsgroup_uncatchup (CurrentNewsSrv, f->name); + nd = mutt_newsgroup_uncatchup (CurrentNewsSrv, folder_f->name); if (nd) { -/* FOLDER folder; - struct folder_file ff; - char buffer[_POSIX_PATH_MAX + SHORT_STRING]; - - folder.ff = &ff; - folder.ff->name = f->name; - folder.ff->st = NULL; - folder.ff->is_new = nd->new; - folder.ff->nd = nd; - p_delete(&f->desc); - mutt_FormatString (buffer, sizeof (buffer), NONULL(GroupFormat), - newsgroup_format_str, (unsigned long) &folder, - M_FORMAT_ARROWCURSOR); - f->desc = m_strdup(buffer); */ if (menu->current + 1 < menu->max) menu->current++; menu->redraw = REDRAW_MOTION_RESYNCH; @@ -1448,29 +1415,14 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files, } for (; j < state.entrylen; j++) { - struct folder_file *f = &state.entry[j]; + struct folder_file *folderf = &state.entry[j]; if (i == OP_BROWSER_SUBSCRIBE || i == OP_BROWSER_UNSUBSCRIBE || - regexec (rx, f->name, 0, NULL, 0) == 0) { + regexec (rx, folderf->name, 0, NULL, 0) == 0) { if (i == OP_BROWSER_SUBSCRIBE || i == OP_SUBSCRIBE_PATTERN) - nd = mutt_newsgroup_subscribe (news, f->name); + nd = mutt_newsgroup_subscribe (news, folderf->name); else - nd = mutt_newsgroup_unsubscribe (news, f->name); -/* if (nd) - { - FOLDER folder; - char buffer[_POSIX_PATH_MAX + SHORT_STRING]; - - folder.name = f->name; - folder.f = NULL; - folder.new = nd->new; - folder.nd = nd; - p_delete(&f->desc); - mutt_FormatString (buffer, sizeof (buffer), NONULL(GroupFormat), - newsgroup_format_str, (unsigned long) &folder, - M_FORMAT_ARROWCURSOR); - f->desc = m_strdup(buffer); - } */ + nd = mutt_newsgroup_unsubscribe (news, folderf->name); } if (i == OP_BROWSER_SUBSCRIBE || i == OP_BROWSER_UNSUBSCRIBE) { if (menu->current + 1 < menu->max)