X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=help.c;h=30bcbde56e879e7f88270a594cfa40f476ae2ccb;hp=d5182cad0e51bedd85c8a89ca4b581d11b943df8;hb=95986f5aee1c2ee7d12c4b1e4bc47874856c5831;hpb=ace94418088f9165d23763bd39752cc31b406f03 diff --git a/help.c b/help.c index d5182ca..30bcbde 100644 --- a/help.c +++ b/help.c @@ -11,7 +11,7 @@ #include -#include +#include #include "mutt.h" #include "charset.h" @@ -27,48 +27,16 @@ static struct binding_t *help_lookupFunction (int op, int menu) /* first look in the generic map for the function */ for (i = 0; OpGeneric[i].name; i++) if (OpGeneric[i].op == op) - return (&OpGeneric[i]); + return &OpGeneric[i]; } if ((map = km_get_table (menu))) { for (i = 0; map[i].name; i++) if (map[i].op == op) - return (&map[i]); + return &map[i]; } - return (NULL); -} - -void mutt_make_help (char *d, ssize_t dlen, 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; + return NULL; } static int print_macro (FILE * f, int maxwidth, const char **macro) @@ -124,7 +92,7 @@ static int print_macro (FILE * f, int maxwidth, const char **macro) fprintf (f, "?"); } } - return (maxwidth - n); + return maxwidth - n; } static int pad (FILE * f, int col, int i) @@ -134,14 +102,14 @@ static int pad (FILE * f, int col, int i) if (col < i) { snprintf (fmt, sizeof (fmt), "%%-%ds", i - col); fprintf (f, fmt, ""); - return (i); + return i; } fputc (' ', f); - return (col + 1); + return col + 1; } -static void format_line (FILE * f, int ismacro, - const char *t1, const char *t2, const char *t3) +static void help_format_line (FILE * f, int ismacro, + const char *t1, const char *t2, const char *t3) { int col; int col_a, col_b; @@ -150,16 +118,15 @@ static void 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 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 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); @@ -227,13 +194,13 @@ static void dump_menu (FILE * f, int menu) if (map->op == OP_MACRO) { if (map->descr == NULL) - format_line (f, -1, buf, "macro", map->macro); + help_format_line (f, -1, buf, "macro", map->macro); else - format_line (f, 1, buf, map->macro, map->descr); + help_format_line (f, 1, buf, map->macro, map->descr); } else { b = help_lookupFunction (map->op, menu); - format_line (f, 0, buf, b ? b->name : "UNKNOWN", + help_format_line (f, 0, buf, b ? b->name : "UNKNOWN", b ? _(HelpStrings[b->op]) : _("ERROR: please report this bug")); } @@ -258,7 +225,7 @@ static void dump_unbound (FILE * f, for (i = 0; funcs[i].name; i++) { if (!is_bound (map, funcs[i].op) && (!aux || !is_bound (aux, funcs[i].op))) - format_line (f, 0, funcs[i].name, "", _(HelpStrings[funcs[i].op])); + help_format_line (f, 0, funcs[i].name, "", _(HelpStrings[funcs[i].op])); } } @@ -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; @@ -302,3 +269,5 @@ void mutt_help (int menu) M_PAGER_RETWINCH | M_PAGER_MARKER | M_PAGER_NSKIP, NULL) == OP_REFORMAT_WINCH); } + +#undef HELP_C