Rocco Rutte:
[apps/madmutt.git] / main.c
diff --git a/main.c b/main.c
index 2c4a49d..1d3d349 100644 (file)
--- a/main.c
+++ b/main.c
@@ -110,6 +110,7 @@ static void mutt_usage (void)
     ("usage: muttng [ -nRyzZ ] [ -e <cmd> ] [ -F <file> ] [ -m <type> ] [ -f <file> ]\n\
        muttng [ -nR ] [ -e <cmd> ] [ -F <file> ] -Q <query> [ -Q <query> ] [...]\n\
        muttng [ -nR ] [ -e <cmd> ] [ -F <file> ] -A <alias> [ -A <alias> ] [...]\n\
+       muttng [ -nR ] [ -e <cmd> ] [ -F <file> ] -D\n\
        muttng [ -nx ] [ -e <cmd> ] [ -a <file> ] [ -F <file> ] [ -H <file> ] [ -i <file> ] [ -s <subj> ] [ -b <addr> ] [ -c <addr> ] <addr> [ ... ]\n\
        muttng [ -n ] [ -e <cmd> ] [ -F <file> ] -p\n\
        muttng -v[v]\n\
@@ -119,6 +120,7 @@ options:\n\
   -a <file>\tattach a file to the message\n\
   -b <address>\tspecify a blind carbon-copy (BCC) address\n\
   -c <address>\tspecify a carbon-copy (CC) address\n\
+  -D\t\tprint the value of all variables to stdout\n\
   -e <command>\tspecify a command to be executed after initialization\n\
   -f <file>\tspecify which mailbox to read\n\
   -F <file>\tspecify an alternate muttrc file\n\
@@ -126,6 +128,7 @@ options:\n\
   -G\t\tselect a newsgroup (if compiled with NNTP)\n\
   -H <file>\tspecify a draft file to read header and body from\n\
   -i <file>\tspecify a file which Mutt-ng should include in the body\n\
+  -d <level>\t specify debugging level of Mutt-ng\n\
   -m <type>\tspecify a default mailbox type\n\
   -n\t\tcauses Mutt-ng not to read the system Muttngrc\n\
   -p\t\trecall a postponed message\n\
@@ -502,6 +505,7 @@ int main (int argc, char **argv)
   int version = 0;
   int i;
   int explicit_folder = 0;
+  int dump_variables = 0;
   extern char *optarg;
   extern int optind;
 
@@ -535,10 +539,10 @@ int main (int argc, char **argv)
 #ifdef USE_NNTP
   while ((i =
           getopt (argc, argv,
-                  "A:a:b:F:f:c:d:e:g:GH:s:i:hm:npQ:RvxyzZ")) != EOF)
+                  "A:a:b:F:f:c:Dd:e:g:GH:s:i:hm:npQ:RvxyzZ")) != EOF)
 #else
   while ((i =
-          getopt (argc, argv, "A:a:b:F:f:c:d:e:H:s:i:hm:npQ:RvxyzZ")) != EOF)
+          getopt (argc, argv, "A:a:b:F:f:c:Dd:e:H:s:i:hm:npQ:RvxyzZ")) != EOF)
 #endif
     switch (i) {
     case 'A':
@@ -577,12 +581,22 @@ int main (int argc, char **argv)
     case 'd':
       debug_setlevel(atoi(optarg));
 #ifdef DEBUG
-      printf (_("Debugging at level %d.\n"), atoi(optarg));
+      if (atoi(optarg) <= DEBUG_MAX_LEVEL && atoi(optarg) >= DEBUG_MIN_LEVEL)
+        printf (_("Debugging at level %d.\n"), atoi(optarg));
+      else {
+        printf(_("Please specify a valid debugging level ("
+                 DEBUG_MIN_LEVEL_S "-" DEBUG_MAX_LEVEL_S ").\n"));
+        return 1;
+      }
 #else
       printf _("DEBUG was not defined during compilation.  Ignored.\n");
 #endif
       break;
 
+    case 'D':
+      dump_variables = 1;
+      break;
+
     case 'e':
       commands = mutt_add_list (commands, optarg);
       break;
@@ -672,7 +686,7 @@ int main (int argc, char **argv)
   }
 
   /* Check for a batch send. */
-  if (!isatty (0) || queries || alias_queries) {
+  if (!isatty (0) || queries || alias_queries || dump_variables) {
     set_option (OPTNOCURSES);
     sendflags = SENDBATCH;
   }
@@ -692,6 +706,8 @@ int main (int argc, char **argv)
 
   if (queries)
     return mutt_query_variables (queries);
+  if (dump_variables)
+    return (mutt_dump_variables ());
 
   if (alias_queries) {
     int rv = 0;