Simplifications.
[apps/madmutt.git] / init.c
diff --git a/init.c b/init.c
index 19d3b18..c9442ce 100644 (file)
--- a/init.c
+++ b/init.c
@@ -14,7 +14,7 @@
 
 #include <lib-lua/lib-lua.h>
 #include <lib-sys/unix.h>
-#include <lib-ui/curses.h>
+#include <lib-ui/lib-ui.h>
 #include <lib-ui/history.h>
 #include <lib-mx/mx.h>
 
@@ -24,7 +24,6 @@
 #include "charset.h"
 #include "thread.h"
 #include "mutt_idna.h"
-#include "send_smtp.h"
 #include "alias.h"
 #include "init.h"
 
@@ -82,9 +81,6 @@ static struct {
   int (*check) (const char* option, unsigned long val,
                 char* errbuf, ssize_t errlen);
 } SpecialVars[] = {
-#ifdef USE_LIBESMTP
-  { "smtp_use_tls",             send_smtp_check_usetls },
-#endif
   { "history",                  check_history },
   { "pager_index_lines",        check_num },
   /* last */
@@ -323,18 +319,6 @@ static int rx_from_string (struct option_t* dst, const char* val,
   return (1);
 }
 
-static void magic_to_string (char* dst, ssize_t dstlen,
-                             struct option_t* option) {
-  const char* s = NULL;
-  switch (option->data) {
-    case M_MBOX:    s = "mbox"; break;
-    case M_MH:      s = "MH"; break;
-    case M_MAILDIR: s = "Maildir"; break;
-    default:        s = "unknown"; break;
-  }
-  snprintf (dst, dstlen, "%s=%s", option->option, s);
-}
-
 static int magic_from_string (struct option_t* dst, const char* val,
                               char *errbuf, ssize_t errlen)
 {
@@ -371,7 +355,6 @@ static struct {
   { DT_QUAD,    quad_to_string,   quad_from_string },
   { DT_SORT,    sort_to_string,   sort_from_string },
   { DT_RX,      rx_to_string,     rx_from_string },
-  { DT_MAGIC,   magic_to_string,  magic_from_string },
 };
 
 
@@ -437,9 +420,7 @@ int query_quadoption2(int v, const char *prompt)
     return (v);
 
   default:
-    v = mutt_yesorno(prompt, (v == M_ASKYES));
-    CLEARLINE (LINES - 1);
-    return (v);
+    return mutt_yesorno(prompt, (v == M_ASKYES));
   }
 }
 
@@ -453,12 +434,8 @@ int query_quadoption (int opt, const char *prompt)
     return (v);
 
   default:
-    v = mutt_yesorno (prompt, (v == M_ASKYES));
-    CLEARLINE (LINES - 1);
-    return (v);
+    return mutt_yesorno(prompt, (v == M_ASKYES));
   }
-
-  /* not reached */
 }
 
 /* always wise to do what someone else did before */
@@ -886,7 +863,7 @@ static void mutt_set_default(const char *name __attribute__ ((unused)), void* p,
         return;
 
     mutt_option_value(ptr->option, buf, sizeof(buf));
-    if (m_strlen(ptr->init) == 0 && buf && *buf)
+    if (m_strlen(ptr->init) == 0 && *buf)
         ptr->init = m_strdup(buf);
 }
 
@@ -945,18 +922,12 @@ static void mutt_restore_default (const char* name __attribute__ ((unused)),
     p_delete(&init);
   }
 
-  if (ptr->flags & R_INDEX)
-    set_option (OPTFORCEREDRAWINDEX);
-  if (ptr->flags & R_PAGER)
-    set_option (OPTFORCEREDRAWPAGER);
-  if (ptr->flags & R_RESORT_SUB)
-    set_option (OPTSORTSUBTHREADS);
-  if (ptr->flags & R_RESORT)
-    set_option (OPTNEEDRESORT);
-  if (ptr->flags & R_RESORT_INIT)
-    set_option (OPTRESORTINIT);
-  if (ptr->flags & R_TREE)
-    set_option (OPTREDRAWTREE);
+  set_option (OPTFORCEREDRAWINDEX);
+  set_option (OPTFORCEREDRAWPAGER);
+  set_option (OPTSORTSUBTHREADS);
+  set_option (OPTNEEDRESORT);
+  set_option (OPTRESORTINIT);
+  set_option (OPTREDRAWTREE);
 }
 
 static int check_num (const char* option, unsigned long p,
@@ -1013,15 +984,6 @@ static const struct mapping_t* get_sortmap (struct option_t* option) {
   return (map);
 }
 
-#define CHECK_PAGER \
-  if ((CurrentMenu == MENU_PAGER) && \
-      (!option || (option->flags & R_RESORT))) \
-  { \
-    snprintf (err->data, err->dsize, \
-              _("Not available in this menu.")); \
-    return (-1); \
-  }
-
 static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
                       BUFFER * err)
 {
@@ -1086,7 +1048,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
         set_option (OPTREDRAWTREE);
         return (0);
       } else {
-        CHECK_PAGER;
         mutt_restore_default (NULL, option, 1);
       }
     }
@@ -1116,7 +1077,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
         return 0;
       }
 
-      CHECK_PAGER;
       if (unset)
         unset_option (option->data);
       else if (inv)
@@ -1126,7 +1086,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
     }
     else if (DTYPE (option->type) == DT_STR ||
              DTYPE (option->type) == DT_PATH ||
-             DTYPE (option->type) == DT_MAGIC ||
              DTYPE (option->type) == DT_NUM ||
              DTYPE (option->type) == DT_SORT ||
              DTYPE (option->type) == DT_RX)
@@ -1134,7 +1093,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
       /* XXX maybe we need to get unset into handlers? */
       if (DTYPE (option->type) == DT_STR || DTYPE (option->type) == DT_PATH) {
         if (unset) {
-          CHECK_PAGER;
           p_delete((void **)(void *)&option->data);
           break;
         }
@@ -1146,7 +1104,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
         break;
       }
 
-      CHECK_PAGER;
       s->dptr++;
       mutt_extract_token (tmp, s, 0);
       if (!FuncTable[DTYPE (option->type)].opt_fromstr
@@ -1161,7 +1118,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
       }
 
       if (*s->dptr == '=') {
-        CHECK_PAGER;
         s->dptr++;
         mutt_extract_token (tmp, s, 0);
         if (ascii_strcasecmp ("yes", tmp->data) == 0)
@@ -1195,18 +1151,12 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
       break;
     }
 
-    if (option->flags & R_INDEX)
-      set_option (OPTFORCEREDRAWINDEX);
-    if (option->flags & R_PAGER)
-      set_option (OPTFORCEREDRAWPAGER);
-    if (option->flags & R_RESORT_SUB)
-      set_option (OPTSORTSUBTHREADS);
-    if (option->flags & R_RESORT)
-      set_option (OPTNEEDRESORT);
-    if (option->flags & R_RESORT_INIT)
-      set_option (OPTRESORTINIT);
-    if (option->flags & R_TREE)
-      set_option (OPTREDRAWTREE);
+    set_option (OPTFORCEREDRAWINDEX);
+    set_option (OPTFORCEREDRAWPAGER);
+    set_option (OPTSORTSUBTHREADS);
+    set_option (OPTNEEDRESORT);
+    set_option (OPTRESORTINIT);
+    set_option (OPTREDRAWTREE);
   }
   return (r);
 }
@@ -1595,23 +1545,6 @@ int mutt_var_value_complete (char *buffer, ssize_t len, int pos)
                  (*((short *)option->data) & SORT_REVERSE) ? "reverse-" : "",
                  (*((short *)option->data) & SORT_LAST) ? "last-" : "", p);
       }
-      else if (DTYPE (option->type) == DT_MAGIC) {
-        const char *p;
-        switch (DefaultMagic) {
-          case M_MBOX:
-            p = "mbox";
-            break;
-          case M_MH:
-            p = "MH";
-            break;
-          case M_MAILDIR:
-            p = "Maildir";
-            break;
-          default:
-            p = "unknown";
-        }
-        m_strcpy(tmp, sizeof(tmp), p);
-      }
       else if (DTYPE (option->type) == DT_BOOL)
         m_strcpy(tmp, sizeof(tmp), option(option->data) ? "yes" : "no");
       else
@@ -1633,36 +1566,6 @@ int mutt_var_value_complete (char *buffer, ssize_t len, int pos)
   return 0;
 }
 
-/* Implement the -Q command line flag */
-int mutt_query_variables (string_list_t * queries)
-{
-  string_list_t *p;
-
-  char errbuff[STRING];
-  char command[STRING];
-
-  BUFFER err, token;
-
-  p_clear(&err, 1);
-  p_clear(&token, 1);
-
-  err.data = errbuff;
-  err.dsize = sizeof(errbuff);
-
-  for (p = queries; p; p = p->next) {
-    snprintf (command, sizeof(command), "set ?%s\n", p->data);
-    if (mutt_parse_rc_line (command, &token, &err) == -1) {
-      fprintf (stderr, "%s\n", err.data);
-      p_delete(&token.data);
-      return 1;
-    }
-    printf ("%s\n", err.data);
-  }
-
-  p_delete(&token.data);
-  return 0;
-}
-
 static int mutt_execute_commands (string_list_t * p)
 {
   BUFFER err, token;
@@ -1715,27 +1618,6 @@ void mutt_init (int skip_sys_rc, string_list_t * commands)
     Realname = m_strdup(rnbuf);
   }
 
-#ifdef USE_NNTP
-  {
-    FILE *f;
-    char *q;
-
-    if ((f = safe_fopen (SYSCONFDIR "/nntpserver", "r"))) {
-      buffer[0] = '\0';
-      fgets (buffer, sizeof(buffer), f);
-      p = vskipspaces(buffer);
-      q = (char*)p;
-      while (*q && !isspace(*q))
-        q++;
-      *q = '\0';
-      NewsServer = m_strdup(p);
-      m_fclose(&f);
-    }
-  }
-  if ((p = getenv ("NNTPSERVER")))
-    NewsServer = m_strdup(p);
-#endif
-
   if ((p = getenv("MAIL") ?: getenv("MAILDIR"))) {
     Spoolfile = m_strdup(p);
   } else {
@@ -1762,13 +1644,6 @@ void mutt_init (int skip_sys_rc, string_list_t * commands)
   hash_map (ConfigOptions, mutt_restore_default, 0);
 
   CurrentMenu = MENU_MAIN;
-
-#ifdef HAVE_GETSID
-  /* Unset suspend by default if we're the session leader */
-  if (getsid (0) == getpid ())
-    unset_option (OPTSUSPEND);
-#endif
-
   mutt_init_history ();
 
   if (!Muttrc) {
@@ -1861,36 +1736,3 @@ void mutt_init (int skip_sys_rc, string_list_t * commands)
   }
 }
 
-int mutt_get_hook_type (const char *name)
-{
-  struct command_t *c;
-
-  for (c = Commands; c->name; c++)
-    if (c->func == mutt_parse_hook && ascii_strcasecmp (c->name, name) == 0)
-      return c->data;
-  return 0;
-}
-
-/* dump out the value of all the variables we have */
-int mutt_dump_variables (int full) {
-    ssize_t i = 0;
-
-    /* get all non-synonyms into list... */
-    for (i = 0; MuttVars[i].option; i++) {
-        struct option_t *option = MuttVars + i;
-        char buf[LONG_STRING];
-
-        if (!full) {
-            mutt_option_value(option->option, buf, sizeof(buf));
-            if (!m_strcmp(buf, option->init))
-                continue;
-        }
-
-        printf("set ");
-        FuncTable[DTYPE(option->type)].opt_tostr(buf, sizeof(buf), option);
-        printf ("%s\n", buf);
-    }
-
-    printf ("\n# vi""m:set ft=muttrc:\n");
-    return 0;
-}