X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=browser.c;h=4a927d92fda3c6778a3e8a2dce0d922b6f805098;hp=43b1b3430e49cad58a93c3be8956468ad9f87f5f;hb=552847916ae6671d52db12880ee337f880cc766b;hpb=f3cbb9f51357972f6e74244494236a41dc4d84cd diff --git a/browser.c b/browser.c index 43b1b34..4a927d9 100644 --- a/browser.c +++ b/browser.c @@ -65,9 +65,9 @@ static void destroy_state (struct browser_state *state) int c; for (c = 0; c < state->entrylen; c++) { - p_delete(&((state->entry)[c].name)); - p_delete(&((state->entry)[c].desc)); - p_delete(&((state->entry)[c].st)); + p_delete(&state->entry[c].name); + p_delete(&state->entry[c].desc); + p_delete(&state->entry[c].st); } p_delete(&state->folder); p_delete(&state->entry); @@ -145,16 +145,16 @@ static int link_is_dir (const char *folder, const char *path) return 0; } -static const char *folder_format_str (char *dest, ssize_t destlen, char op, - const char *src, const char *fmt, - const char *ifstring, - const char *elsestring, - unsigned long data, format_flag flags) +static const char * +folder_format_str(char *dest, ssize_t destlen, char op, + const char *src, const char *fmt, + const char *ifstr, const char *elstr, + anytype 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; + FOLDER *folder = data.ptr; struct passwd *pw; struct group *gr; int optional = (flags & M_FORMAT_OPTIONAL); @@ -184,9 +184,9 @@ static const char *folder_format_str (char *dest, ssize_t destlen, char op, const char *s; if (folder->ff->imap) - s = NONULL (folder->ff->desc); + s = NONULL(folder->ff->desc); else - s = NONULL (folder->ff->name); + s = NONULL(folder->ff->name); snprintf (fn, sizeof (fn), "%s%s", s, folder->ff->st ? (S_ISLNK (folder->ff->st->st_mode) ? "@" : @@ -200,9 +200,8 @@ static const char *folder_format_str (char *dest, ssize_t destlen, char op, case 'F': if (folder->ff->st != NULL) { snprintf (permission, sizeof (permission), "%c%c%c%c%c%c%c%c%c%c", - S_ISDIR (folder->ff->st-> - st_mode) ? 'd' : (S_ISLNK (folder->ff->st-> - st_mode) ? 'l' : '-'), + S_ISDIR(folder->ff->st-> st_mode) + ? 'd' : (S_ISLNK(folder->ff->st-> st_mode) ? 'l' : '-'), (folder->ff->st->st_mode & S_IRUSR) != 0 ? 'r' : '-', (folder->ff->st->st_mode & S_IWUSR) != 0 ? 'w' : '-', (folder->ff->st->st_mode & S_ISUID) != @@ -300,24 +299,23 @@ static const char *folder_format_str (char *dest, ssize_t destlen, char op, break; } - if (optional) - mutt_FormatString (dest, destlen, ifstring, folder_format_str, data, 0); - else if (flags & M_FORMAT_OPTIONAL) - mutt_FormatString (dest, destlen, elsestring, folder_format_str, data, 0); - return (src); + if (flags & M_FORMAT_OPTIONAL) + m_strformat(dest, destlen, 0, optional ? ifstr : elstr, + folder_format_str, data, 0); + + return src; } #ifdef USE_NNTP -static const char *newsgroup_format_str (char *dest, ssize_t destlen, char op, - const char *src, const char *fmt, - const char *ifstring, - const char *elsestring, - unsigned long data, - format_flag flags) +static const char * +newsgroup_format_str(char *dest, ssize_t destlen, char op, + const char *src, const char *fmt, + const char *ifstr, const char *elstr, + anytype data, format_flag flags) { - char fn[SHORT_STRING], tmp[SHORT_STRING]; - FOLDER *folder = (FOLDER *) data; + char fn[STRING], tmp[STRING]; + FOLDER *folder = data.ptr; switch (op) { case 'C': @@ -350,11 +348,11 @@ static const char *newsgroup_format_str (char *dest, ssize_t destlen, char op, case 's': if (flags & M_FORMAT_OPTIONAL) { if (folder->ff->nd->unread != 0) - mutt_FormatString (dest, destlen, ifstring, newsgroup_format_str, - data, flags); + m_strformat(dest, destlen, 0, ifstr, newsgroup_format_str, + data, flags); else - mutt_FormatString (dest, destlen, elsestring, newsgroup_format_str, - data, flags); + m_strformat (dest, destlen, 0, elstr, newsgroup_format_str, + data, flags); } else if (Context && Context->data == folder->ff->nd) { snprintf (tmp, sizeof (tmp), "%%%sd", fmt); @@ -466,11 +464,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state, continue; if (!((regexec (Mask.rx, data->group, 0, NULL, 0) == 0) ^ Mask.not)) continue; -#ifdef USE_NNTP add_folder (menu, state, data->group, NULL, data, data->new); -#else - add_folder (menu, state, data->group, NULL, data->new); -#endif } sidebar_draw (); } @@ -480,7 +474,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) { @@ -645,12 +639,12 @@ static void folder_entry (char *s, ssize_t slen, MUTTMENU * menu, int num) #ifdef USE_NNTP if (option (OPTNEWS)) - mutt_FormatString (s, slen, NONULL (GroupFormat), newsgroup_format_str, - (unsigned long) &folder, M_FORMAT_ARROWCURSOR); + m_strformat(s, slen, COLS - SW, GroupFormat, newsgroup_format_str, &folder, + option(OPTARROWCURSOR) ? M_FORMAT_ARROWCURSOR : 0); else #endif - mutt_FormatString (s, slen, NONULL (FolderFormat), folder_format_str, - (unsigned long) &folder, M_FORMAT_ARROWCURSOR); + m_strformat(s, slen, COLS - SW, FolderFormat, folder_format_str, &folder, + option(OPTARROWCURSOR) ? M_FORMAT_ARROWCURSOR : 0); } static void init_menu (struct browser_state *state, MUTTMENU * menu, @@ -717,7 +711,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; @@ -932,7 +926,7 @@ void _mutt_select_file (char *f, ssize_t flen, int flags, char ***files, /* try to restore the old values */ m_strcpy(LastDir, sizeof(LastDir), OldLastDir); if (examine_directory (menu, &state, LastDir, prefix) == -1) { - m_strcpy(LastDir, sizeof(LastDir), NONULL(Homedir)); + m_strcpy(LastDir, sizeof(LastDir), NONULL(MCore.homedir)); goto bail; } } @@ -1054,7 +1048,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;