X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pager.c;h=78fe31d205334830cf227a87011f52b8c14ee266;hp=98b00f3e878ed56aa89f14a31cf336d52a01a835;hb=021836b3da95b9243e9f8386d87d220ab4f7f7b7;hpb=01a3f4d932ddfc7f4a58f820d343f4a6f3b0f824 diff --git a/pager.c b/pager.c index 98b00f3..78fe31d 100644 --- a/pager.c +++ b/pager.c @@ -17,7 +17,6 @@ #include "mutt.h" #include "mutt_curses.h" -#include "mutt_regex.h" #include "keymap.h" #include "mutt_menu.h" #include "mapping.h" @@ -35,6 +34,11 @@ #include "mutt_crypt.h" +#include "lib/mem.h" +#include "lib/intl.h" +#include "lib/str.h" +#include "lib/rx.h" + #include #include #include @@ -386,7 +390,7 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList, if (length <= q_list->length) { /* case 1: check the top level nodes */ - if (mutt_strncmp (qptr, q_list->prefix, length) == 0) { + if (safe_strncmp (qptr, q_list->prefix, length) == 0) { if (length == q_list->length) return q_list; /* same prefix: return the current class */ @@ -475,7 +479,7 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList, /* tmp != NULL means we already found a shorter prefix at case 1 */ if (tmp == NULL - && mutt_strncmp (qptr, q_list->prefix, q_list->length) == 0) { + && safe_strncmp (qptr, q_list->prefix, q_list->length) == 0) { /* ok, it's a subclass somewhere on this branch */ ptr = q_list; @@ -487,7 +491,7 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList, while (q_list) { if (length <= q_list->length) { - if (mutt_strncmp (tail_qptr, (q_list->prefix) + offset, tail_lng) + if (safe_strncmp (tail_qptr, (q_list->prefix) + offset, tail_lng) == 0) { /* same prefix: return the current class */ if (length == q_list->length) @@ -571,7 +575,7 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList, else { /* longer than the current prefix: try subclassing it */ if (tmp == NULL - && mutt_strncmp (tail_qptr, (q_list->prefix) + offset, + && safe_strncmp (tail_qptr, (q_list->prefix) + offset, q_list->length - offset) == 0) { /* still a subclass: go down one level */ ptr = q_list; @@ -668,7 +672,7 @@ resolve_types (char *buf, char *raw, struct line_t *lineInfo, int n, int last, lineInfo[n].type = MT_COLOR_HDEFAULT; color_line = ColorHdrList; while (color_line) { - if (REGEXEC (color_line->rx, buf) == 0) { + if (REGEXEC (&color_line->rx, buf) == 0) { lineInfo[n].type = MT_COLOR_HEADER; lineInfo[n].syntax[0].color = color_line->pair; break; @@ -677,17 +681,17 @@ resolve_types (char *buf, char *raw, struct line_t *lineInfo, int n, int last, } } } - else if (mutt_strncmp ("\033[0m", raw, 4) == 0) /* a little hack... */ + else if (safe_strncmp ("\033[0m", raw, 4) == 0) /* a little hack... */ lineInfo[n].type = MT_COLOR_NORMAL; #if 0 - else if (mutt_strncmp ("[-- ", buf, 4) == 0) + else if (safe_strncmp ("[-- ", buf, 4) == 0) lineInfo[n].type = MT_COLOR_ATTACHMENT; #else else if (check_attachment_marker ((char *) raw) == 0) lineInfo[n].type = MT_COLOR_ATTACHMENT; #endif - else if (mutt_strcmp ("-- \n", buf) == 0 - || mutt_strcmp ("-- \r\n", buf) == 0) { + else if (safe_strcmp ("-- \n", buf) == 0 + || safe_strcmp ("-- \r\n", buf) == 0) { i = n + 1; lineInfo[n].type = MT_COLOR_SIGNATURE; @@ -1626,9 +1630,12 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) _mutt_make_string (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), Context, extra->bdy->hdr, M_FORMAT_MAKEPRINT); } - move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), - option (OPTSTATUSONTOP) ? 0 : SidebarWidth); - mutt_paddstr (COLS - 10, IsHeader (extra) + if (option(OPTSTATUSONTOP)) { + move(0,0); + } + /*move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (InHelp?(LINES-2):(indexlen - 1))), + option (OPTSTATUSONTOP) ? 0 : SidebarWidth);*/ + mutt_paddstr (COLS - 10 - (option(OPTSTATUSONTOP)?0:SidebarWidth), IsHeader (extra) || IsMsgAttach (extra) ? buffer : banner); addstr (" -- ("); @@ -1641,13 +1648,13 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) } if (redraw & REDRAW_SIDEBAR) - draw_sidebar (MENU_PAGER); + sidebar_draw (MENU_PAGER); if ((redraw & REDRAW_INDEX) && index) { /* redraw the pager_index indicator, because the * flags for this message might have changed. */ menu_redraw_current (index); - draw_sidebar (MENU_PAGER); + sidebar_draw (MENU_PAGER); /* print out the index status bar */ menu_status_line (buffer, sizeof (buffer), index, NONULL (Status)); move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), @@ -1659,7 +1666,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) } /* if we're not using the index, update every time */ if (index == 0) - draw_sidebar (MENU_PAGER); + sidebar_draw (MENU_PAGER); redraw = 0; @@ -2325,7 +2332,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) else followup_to = extra->hdr->env->followup_to; - if (!followup_to || mutt_strcasecmp (followup_to, "poster") || + if (!followup_to || safe_strcasecmp (followup_to, "poster") || query_quadoption (OPT_FOLLOWUPTOPOSTER, _("Reply by mail as poster prefers?")) != M_YES) { if (extra->ctx && extra->ctx->magic == M_NNTP @@ -2582,7 +2589,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) case OP_SIDEBAR_NEXT_NEW: case OP_SIDEBAR_PREV: case OP_SIDEBAR_PREV_NEW: - scroll_sidebar (ch, MENU_PAGER); + sidebar_scroll (ch, MENU_PAGER); break; default: ch = -1;