X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=help.c;h=0717d6480444a4b9b15cac6b00205c56cb663896;hp=ea694c337c204fce88d5f09d6fa4ddd4a5655dfb;hb=819c071fa7efc8dffb4dd92f36f0111227ff692f;hpb=ad303d5eab5c92f9546cc9d3703a24534d6bb5e0 diff --git a/help.c b/help.c index ea694c3..0717d64 100644 --- a/help.c +++ b/help.c @@ -11,7 +11,7 @@ #include -#include +#include #include "mutt.h" #include "charset.h" @@ -39,38 +39,6 @@ static struct binding_t *help_lookupFunction (int op, int menu) return (NULL); } -void mutt_make_help (char *d, ssize_t dlen, const char *txt, int menu, int op) -{ - char buf[STRING]; - - if (km_expand_key (buf, sizeof (buf), km_find_func (menu, op)) || - km_expand_key (buf, sizeof (buf), km_find_func (MENU_GENERIC, op))) - snprintf (d, dlen, "%s:%s", buf, txt); - else - d[0] = 0; -} - -char *mutt_compile_help (char *buf, ssize_t buflen, int menu, - struct mapping_t *items) -{ - int i; - ssize_t len; - char *pbuf = buf; - - for (i = 0; items[i].name && buflen > 2; i++) { - if (i) { - *pbuf++ = ' '; - *pbuf++ = ' '; - buflen -= 2; - } - mutt_make_help (pbuf, buflen, _(items[i].name), menu, items[i].value); - len = m_strlen(pbuf); - pbuf += len; - buflen -= len; - } - return buf; -} - static int print_macro (FILE * f, int maxwidth, const char **macro) { int n = maxwidth; @@ -150,16 +118,15 @@ static void help_format_line (FILE * f, int ismacro, fputs (t1, f); - /* don't try to press string into one line with less than 40 characters. - The double paranthesis avoid a gcc warning, sigh ... */ - if ((split = COLS < 40)) { + /* don't try to press string into one line with less than 40 characters. */ + if ((split = getmaxx(main_w) < 40)) { col_a = col = 0; col_b = LONG_STRING; fputc ('\n', f); } else { - col_a = COLS > 83 ? (COLS - 32) >> 2 : 12; - col_b = COLS > 49 ? (COLS - 10) >> 1 : 19; + col_a = getmaxx(main_w) > 83 ? (getmaxx(main_w) - 32) >> 2 : 12; + col_b = getmaxx(main_w) > 49 ? (getmaxx(main_w) - 10) >> 1 : 19; col = pad (f, m_strlen(t1), col_a); } @@ -186,14 +153,14 @@ static void help_format_line (FILE * f, int ismacro, } else { while (*t3) { - n = COLS - col; + n = getmaxx(main_w) - col; if (ismacro >= 0) { t3 = vskipspaces(t3); /* FIXME: this is completely wrong */ - if ((n = m_strlen(t3)) > COLS - col) { - n = COLS - col; + if ((n = m_strlen(t3)) > getmaxx(main_w) - col) { + n = getmaxx(main_w) - col; for (col_a = n; col_a > 0 && t3[col_a] != ' '; col_a--); if (col_a) n = col_a; @@ -203,7 +170,7 @@ static void help_format_line (FILE * f, int ismacro, print_macro (f, n, &t3); if (*t3) { - n += col - COLS; + n += col - getmaxx(main_w); if (option (OPTMARKERS)) ++n; col = pad (f, n, col_b); @@ -276,7 +243,7 @@ void mutt_help (int menu) desc = _(""); do { - f = m_tempfile(tmp, sizeof(tmp), NONULL(MCore.tmpdir), NULL); + f = m_tempfile(tmp, sizeof(tmp), NONULL(mod_core.tmpdir), NULL); if (!f) { mutt_perror(tmp); return;