Nico Golde:
[apps/madmutt.git] / main.c
diff --git a/main.c b/main.c
index dd6c1ed..0487844 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,21 +1,16 @@
 /*
+ * Copyright notice from original mutt:
  * Copyright (C) 1996-2002 Michael R. Elkins <me@mutt.org>
  * Copyright (C) 1999-2002 Thomas Roessler <roessler@does-not-exist.org>
  * Copyright (C) 2004 g10 Code GmbH
- * 
- *     This program is free software; you can redistribute it and/or modify
- *     it under the terms of the GNU General Public License as published by
- *     the Free Software Foundation; either version 2 of the License, or
- *     (at your option) any later version.
- * 
- *     This program is distributed in the hope that it will be useful,
- *     but WITHOUT ANY WARRANTY; without even the implied warranty of
- *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *     GNU General Public License for more details.
- * 
- *     You should have received a copy of the GNU General Public License
- *     along with this program; if not, write to the Free Software
- *     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ *
+ * Parts written/modified by:
+ * Nico Golde <nion@muttng.org>
+ * Andreas Krennmair <ak@synflood.at>
+ *
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
  */
 
 #define MAIN_C 1
 #include "mutt.h"
 #include "mutt_curses.h"
 #include "keymap.h"
-#include "mailbox.h"
 #include "url.h"
 #include "mutt_crypt.h"
 #include "mutt_idna.h"
 
+#include "lib/mem.h"
+#include "lib/intl.h"
+#include "lib/str.h"
+#include "lib/debug.h"
+
 #include <string.h>
 #include <stdlib.h>
 #include <locale.h>
@@ -49,7 +48,7 @@
 #endif
 
 #ifdef USE_NNTP
-#include <nntp.h>
+#include "nntp/nntp.h"
 #endif
 
 static const char *ReachingUs = N_("\
@@ -70,8 +69,12 @@ Copyright (C) 1997-2002 Thomas Roessler <roessler@does-not-exist.org>\n\
 Copyright (C) 1998-2002 Werner Koch <wk@isil.d.shuttle.de>\n\
 Copyright (C) 1999-2002 Brendan Cully <brendan@kublai.com>\n\
 Copyright (C) 1999-2002 Tommi Komulainen <Tommi.Komulainen@iki.fi>\n\
-Copyright (C) 2000-2002 Edmund Grimley Evans <edmundo@rano.org>\n\
-Copyright (C) 2004-2005 Andreas Krennmair <ak@synflood.at>\n\
+Copyright (C) 2000-2002 Edmund Grimley Evans <edmundo@rano.org>\n\n\
+Copyright (C) 2005:\n\
+  Parts were written/modified by:\n\
+     Andreas Krennmair <ak@synflood.at>\n\
+     Nico Golde <nico@ngolde.de>\n\
+     Rocco Rutte <pdmef@cs.tu-berlin.de>\n\
 \n\
 Lots of others not mentioned here contributed lots of code,\n\
 fixes, and suggestions.\n\
@@ -225,6 +228,11 @@ static void show_version (void)
          "+USE_INODESORT   "
 #else
          "-USE_INODESORT   "
+#endif
+#if USE_HCACHE
+         "+USE_HCACHE  "
+#else
+         "-USE_HCACHE  "
 #endif
     );
   puts (
@@ -243,11 +251,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
@@ -263,11 +266,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
@@ -359,11 +357,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
@@ -420,16 +413,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
     );
 
@@ -452,6 +435,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);
@@ -557,11 +541,16 @@ int main (int argc, char **argv)
       alias_queries = mutt_add_list (alias_queries, optarg);
       break;
     case 'a':
-      attach = mutt_add_list (attach, optarg);
+      if (strlen(optarg)<=512)
+        attach = mutt_add_list (attach, optarg);
+      else{
+        printf("too long arguments. exiting ...\n");
+        exit(1);
+      }
       break;
 
     case 'F':
-      mutt_str_replace (&Muttrc, optarg);
+      str_replace (&Muttrc, optarg);
       break;
 
     case 'f':
@@ -582,9 +571,9 @@ 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);
+      printf (_("Debugging at level %d.\n"), atoi(optarg));
 #else
       printf _("DEBUG was not defined during compilation.  Ignored.\n");
 #endif
@@ -690,10 +679,11 @@ int main (int argc, char **argv)
     start_curses ();
 
   /* set defaults and read init files */
+  mx_init ();
   mutt_init (flags & M_NOSYSRC, commands);
   mutt_free_list (&commands);
 
-  /* Initialize crypto backends.  */
+  /* Initialize crypto */
   crypt_init ();
 
   if (queries)
@@ -737,7 +727,7 @@ int main (int argc, char **argv)
     mutt_expand_path (fpath, sizeof (fpath));
 #ifdef USE_IMAP
     /* we're not connected yet - skip mail folder creation */
-    if (!mx_is_imap (fpath))
+    if (mx_get_magic (fpath) != M_IMAP)
 #endif
       if (stat (fpath, &sb) == -1 && errno == ENOENT) {
         snprintf (msg, sizeof (msg), _("%s does not exist. Create it?"),
@@ -797,7 +787,7 @@ int main (int argc, char **argv)
 
     if (infile || bodytext) {
       if (infile) {
-        if (mutt_strcmp ("-", infile) == 0)
+        if (safe_strcmp ("-", infile) == 0)
           fin = stdin;
         else {
           char path[_POSIX_PATH_MAX];
@@ -876,13 +866,13 @@ int main (int argc, char **argv)
   }
   else {
     if (flags & M_BUFFY) {
-      if (!mutt_buffy_check (0)) {
+      if (!buffy_check (0)) {
         mutt_endwin _("No mailbox with new mail.");
 
         exit (1);
       }
       folder[0] = 0;
-      mutt_buffy (folder, sizeof (folder));
+      buffy_next (folder, sizeof (folder));
     }
     else if (flags & M_SELECT) {
 #ifdef USE_NNTP
@@ -921,8 +911,8 @@ int main (int argc, char **argv)
 #endif
       mutt_expand_path (folder, sizeof (folder));
 
-    mutt_str_replace (&CurrentFolder, folder);
-    mutt_str_replace (&LastFolder, folder);
+    str_replace (&CurrentFolder, folder);
+    str_replace (&LastFolder, folder);
 
     if (flags & M_IGNORE) {
       /* check to see if there are any messages in the folder */