Revert "we use glibc, and gconv. Don't need our own transcoding stuff, glibc does"
[apps/madmutt.git] / help.c
diff --git a/help.c b/help.c
index ea694c3..0717d64 100644 (file)
--- a/help.c
+++ b/help.c
@@ -11,7 +11,7 @@
 
 #include <lib-lib/lib-lib.h>
 
-#include <lib-ui/curses.h>
+#include <lib-ui/lib-ui.h>
 
 #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 = _("<UNKNOWN>");
 
     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;