X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=main.c;h=1d3d349a2d786f961e0f03de99fee8c7cd551b96;hp=a2805f8fcfa33db6ceebe4e34ad3b5af78d0a56d;hb=afa60149c4d2bb71c8195091d3658b3bdc12d59d;hpb=9a1805afc94b21d8766e6e67ef57f92aaf966e84 diff --git a/main.c b/main.c index a2805f8..1d3d349 100644 --- a/main.c +++ b/main.c @@ -25,10 +25,12 @@ #include "url.h" #include "mutt_crypt.h" #include "mutt_idna.h" +#include "xterm.h" #include "lib/mem.h" #include "lib/intl.h" #include "lib/str.h" +#include "lib/debug.h" #include #include @@ -62,17 +64,18 @@ Mutt is free software, and you are welcome to redistribute it\n\ under certain conditions; type `muttng -vv' for details.\n"); static const char *Copyright = N_("\ -Copyright (C) 1996-2002 Michael R. Elkins \n\ +Copyright (C) 1996-2004 Michael R. Elkins \n\ Copyright (C) 1996-2002 Brandon Long \n\ -Copyright (C) 1997-2002 Thomas Roessler \n\ -Copyright (C) 1998-2002 Werner Koch \n\ -Copyright (C) 1999-2002 Brendan Cully \n\ +Copyright (C) 1997-2005 Thomas Roessler \n\ +Copyright (C) 1998-2005 Werner Koch \n\ +Copyright (C) 1999-2005 Brendan Cully \n\ Copyright (C) 1999-2002 Tommi Komulainen \n\ Copyright (C) 2000-2002 Edmund Grimley Evans \n\n\ -Parts were written/modified by:\n\ -Andreas Krennmair \n\ -Nico Golde \n\ -Rocco Rutte \n\ +Copyright (C) 2005:\n\ + Parts were written/modified by:\n\ + Andreas Krennmair \n\ + Nico Golde \n\ + Rocco Rutte \n\ \n\ Lots of others not mentioned here contributed lots of code,\n\ fixes, and suggestions.\n\ @@ -107,6 +110,7 @@ static void mutt_usage (void) ("usage: muttng [ -nRyzZ ] [ -e ] [ -F ] [ -m ] [ -f ]\n\ muttng [ -nR ] [ -e ] [ -F ] -Q [ -Q ] [...]\n\ muttng [ -nR ] [ -e ] [ -F ] -A [ -A ] [...]\n\ + muttng [ -nR ] [ -e ] [ -F ] -D\n\ muttng [ -nx ] [ -e ] [ -a ] [ -F ] [ -H ] [ -i ] [ -s ] [ -b ] [ -c ] [ ... ]\n\ muttng [ -n ] [ -e ] [ -F ] -p\n\ muttng -v[v]\n\ @@ -116,6 +120,7 @@ options:\n\ -a \tattach a file to the message\n\ -b
\tspecify a blind carbon-copy (BCC) address\n\ -c
\tspecify a carbon-copy (CC) address\n\ + -D\t\tprint the value of all variables to stdout\n\ -e \tspecify a command to be executed after initialization\n\ -f \tspecify which mailbox to read\n\ -F \tspecify an alternate muttrc file\n\ @@ -123,6 +128,7 @@ options:\n\ -G\t\tselect a newsgroup (if compiled with NNTP)\n\ -H \tspecify a draft file to read header and body from\n\ -i \tspecify a file which Mutt-ng should include in the body\n\ + -d \t specify debugging level of Mutt-ng\n\ -m \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\ @@ -226,6 +232,11 @@ static void show_version (void) "+USE_INODESORT " #else "-USE_INODESORT " +#endif +#if USE_HCACHE + "+USE_HCACHE " +#else + "-USE_HCACHE " #endif ); puts ( @@ -244,11 +255,6 @@ static void show_version (void) #else "-USE_IMAP " #endif -#ifdef IMAP_EDIT_THREADS - "+IMAP_EDIT_THREADS " -#else - "-IMAP_EDIT_THREADS " -#endif #ifdef USE_GSS "+USE_GSS " #else @@ -264,11 +270,6 @@ static void show_version (void) #else "-USE_GNUTLS " #endif -#ifdef USE_GNUTLS - "+USE_GNUTLS " -#else - "-USE_GNUTLS " -#endif #ifdef USE_SASL "+USE_SASL " #else @@ -360,11 +361,6 @@ static void show_version (void) #else "-BUFFY_SIZE " #endif -#ifdef EXACT_ADDRESS - "+EXACT_ADDRESS " -#else - "-EXACT_ADDRESS " -#endif #ifdef SUN_ATTACHMENT "+SUN_ATTACHMENT " #else @@ -421,16 +417,6 @@ static void show_version (void) "+HAVE_GETADDRINFO " #else "-HAVE_GETADDRINFO " -#endif -#if USE_HCACHE - "+USE_HCACHE " -#else - "-USE_HCACHE " -#endif -#if USE_HCACHE - "+USE_HCACHE " -#else - "-USE_HCACHE " #endif ); @@ -453,6 +439,7 @@ static void show_version (void) puts (_(ReachingUs)); + puts (_("Mutt-ng is based on the following patches written for mutt:\n")); mutt_print_patchlist (); exit (0); @@ -518,11 +505,15 @@ 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; + /* initialize random number for tmp file creation */ + srand ((unsigned int) time (NULL)); + /* sanity check against stupid administrators */ - + if (getegid () != getgid ()) { fprintf (stderr, "%s: I don't want to run with privileges!\n", argv[0]); exit (1); @@ -548,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': @@ -588,14 +579,24 @@ int main (int argc, char **argv) break; case 'd': + debug_setlevel(atoi(optarg)); #ifdef DEBUG - debuglevel = atoi (optarg); - printf (_("Debugging at level %d.\n"), debuglevel); + 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; @@ -685,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; } @@ -705,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; @@ -804,7 +807,7 @@ int main (int argc, char **argv) if (infile || bodytext) { if (infile) { - if (safe_strcmp ("-", infile) == 0) + if (mutt_strcmp ("-", infile) == 0) fin = stdin; else { char path[_POSIX_PATH_MAX]; @@ -950,6 +953,8 @@ int main (int argc, char **argv) M_READONLY : 0, NULL)) || !explicit_folder) { mutt_index_menu (); + if (option (OPTXTERMSETTITLES)) + mutt_xterm_set_title (NONULL (XtermLeave)); if (Context) FREE (&Context); }