X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=main.c;h=56030ee48350371eff09e9a1d1ec26af442fe73a;hp=4c933d605dcadfdb9d7ce63c69012baf3cd0d9fc;hb=99f5c6c8a6c4e73aeb253e5c7f1d0035cabc8db0;hpb=8471e24261dcb68bc25ce1ddf0931e832138ccef diff --git a/main.c b/main.c index 4c933d6..56030ee 100644 --- a/main.c +++ b/main.c @@ -19,17 +19,22 @@ # include "config.h" #endif +#include +#include +#include +#include + #include "mutt.h" +#include "mx.h" +#include "buffy.h" +#include "sort.h" +#include #include "mutt_curses.h" #include "keymap.h" #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 @@ -42,6 +47,9 @@ #ifdef HAVE_GETOPT_H #include +#else +extern char *optarg; +extern int optind; #endif #ifdef HAVE_LIBIDN @@ -56,7 +64,7 @@ #include #endif -#if USE_HCACHE +#ifdef USE_HCACHE #if HAVE_QDBM #include #elif HAVE_GDBM @@ -74,6 +82,10 @@ #include #endif +#ifdef USE_SSL +#include +#endif + static const char *ReachingUs = N_("\ To contact the developers, please mail to .\n\ To visit the Mutt-ng homepage go to http://www.muttng.org.\n\ @@ -85,14 +97,16 @@ Mutt-ng comes with ABSOLUTELY NO WARRANTY; for details type `muttng -vv'.\n\ 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_("\ +static const char *Copyright_Mutt = N_("\ Copyright (C) 1996-2004 Michael R. Elkins \n\ Copyright (C) 1996-2002 Brandon Long \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\ +Copyright (C) 2000-2002 Edmund Grimley Evans \n"); + +static const char *Copyright_Mutt_NG = N_("\ Copyright (C) 2005:\n\ Parts were written/modified by:\n\ Andreas Krennmair \n\ @@ -100,21 +114,25 @@ Copyright (C) 2005:\n\ Rocco Rutte \n\ \n\ Lots of others not mentioned here contributed lots of code,\n\ -fixes, and suggestions.\n\ +fixes, and suggestions."); + +static const char* Copyright_GPL_1 = N_("\ \n\ This program is free software; you can redistribute it and/or modify\n\ it under the terms of the GNU General Public License as published by\n\ the Free Software Foundation; either version 2 of the License, or\n\ - (at your option) any later version.\n\ -\n\ + (at your option) any later version.\n"); + +static const char* Copyright_GPL_2 = N_("\ This program is distributed in the hope that it will be useful,\n\ but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ - GNU General Public License for more details.\n\ -\n\ + GNU General Public License for more details.\n"); + +static const char* Copyright_GPL_3 = N_("\ You should have received a copy of the GNU General Public License\n\ along with this program; if not, write to the Free Software\n\ - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.\n\ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n\ "); void mutt_exit (int code) @@ -128,11 +146,12 @@ static void mutt_usage (void) puts (mutt_make_version (1)); puts - _ - ("usage: muttng [ -nRyzZ ] [ -e ] [ -F ] [ -m ] [ -f ]\n\ + _("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 ] -t\n\ + muttng [ -nR ] [ -e ] [ -F ] -t"); + puts + _("\ muttng [ -nR ] [ -e ] [ -F ] -T\n\ muttng [ -nx ] [ -e ] [ -a ] [ -F ] [ -H ] [ -i ] [ -s ] [ -b ] [ -c ] [ ... ]\n\ muttng [ -n ] [ -e ] [ -F ] -p\n\ @@ -153,18 +172,19 @@ options:\n\ -g \tspecify a newsserver (if compiled with NNTP)\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\ + -i \tspecify a file which Mutt-ng should include in the body"); + puts _("\ -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\ -Q \tquery a configuration variable\n\ -R\t\topen mailbox in read-only mode\n\ - -s \tspecify a subject (must be in quotes if it has spaces)\n\ + -s \tspecify a subject (must be in quotes if it has spaces)"); + puts _("\ -t\t\tprint the value of all variables to stdout\n\ -T\t\tprint the value of all changed variables to stdout\n\ -v\t\tshow version and compile-time definitions\n\ - -x\t\tsimulate the mailx send mode\n\ -y\t\tselect a mailbox specified in your `mailboxes' list\n\ -z\t\texit immediately if there are no messages in the mailbox\n\ -Z\t\topen the first folder with new message, exit immediately if none\n\ @@ -216,7 +236,7 @@ static void show_version (void) printf (" libESMTP %s\n", buf); #endif -#if USE_HCACHE +#ifdef USE_HCACHE #if HAVE_QDBM printf (" qdbm %s\n", dpversion); #elif HAVE_GDBM @@ -231,6 +251,10 @@ static void show_version (void) printf (" gnutls %s\n", LIBGNUTLS_VERSION); #endif +#ifdef USE_SSL + printf (" %s\n",OPENSSL_VERSION_TEXT); +#endif + #ifdef CRYPT_BACKEND_GPGME printf (" gpgme %s\n", GPGME_VERSION); #endif @@ -259,12 +283,6 @@ static void show_version (void) #else "-USE_DOTLOCK " #endif -#ifdef DL_STANDALONE - "+DL_STANDALONE " -#else - "-DL_STANDALONE " -#endif - "\n " #ifdef USE_FCNTL "+USE_FCNTL " #else @@ -275,33 +293,18 @@ static void show_version (void) #else "-USE_FLOCK " #endif -#ifdef USE_INODESORT - "+USE_INODESORT " -#else - "-USE_INODESORT " -#endif -#if USE_HCACHE +#ifdef USE_HCACHE "+USE_HCACHE " #else "-USE_HCACHE " #endif ); puts ( -#ifdef USE_POP - " +USE_POP " -#else - " -USE_POP " -#endif #ifdef USE_NNTP "+USE_NNTP " #else "-USE_NNTP " #endif -#ifdef USE_IMAP - "+USE_IMAP " -#else - "-USE_IMAP " -#endif #ifdef USE_GSS "+USE_GSS " #else @@ -337,11 +340,6 @@ static void show_version (void) "+USE_GNU_REGEX " #else "-USE_GNU_REGEX " -#endif -#ifdef USE_COMPRESSED - "+COMPRESSED " -#else - "-COMPRESSED " #endif "\n " #ifdef HAVE_COLOR @@ -383,16 +381,6 @@ static void show_version (void) ); puts ( -#ifdef CRYPT_BACKEND_CLASSIC_PGP - " +CRYPT_BACKEND_CLASSIC_PGP " -#else - " -CRYPT_BACKEND_CLASSIC_PGP " -#endif -#ifdef CRYPT_BACKEND_CLASSIC_SMIME - "+CRYPT_BACKEND_CLASSIC_SMIME " -#else - "-CRYPT_BACKEND_CLASSIC_SMIME " -#endif #ifdef CRYPT_BACKEND_GPGME "+CRYPT_BACKEND_GPGME " #else @@ -402,11 +390,6 @@ static void show_version (void) "+BUFFY_SIZE " #else "-BUFFY_SIZE " -#endif -#ifdef SUN_ATTACHMENT - "+SUN_ATTACHMENT " -#else - "-SUN_ATTACHMENT " #endif "\n " #ifdef ENABLE_NLS @@ -414,11 +397,6 @@ static void show_version (void) #else "-ENABLE_NLS " #endif -#ifdef LOCALES_HACK - "+LOCALES_HACK " -#else - "-LOCALES_HACK " -#endif #ifdef HAVE_WC_FUNCS "+HAVE_WC_FUNCS " #else @@ -464,12 +442,6 @@ static void show_version (void) puts (_("Built-In Defaults:")); -#ifdef DOMAIN - printf (" +DOMAIN=\"%s\"\n", DOMAIN); -#else - puts (" -DOMAIN"); -#endif - #ifdef ISPELL printf (" +ISPELL=\"%s\"\n", ISPELL); #else @@ -481,7 +453,6 @@ static void show_version (void) printf (" +PKGDATADIR=\"%s\"\n", PKGDATADIR); printf (" +PKGDOCDIR=\"%s\"\n", PKGDOCDIR); printf (" +SYSCONFDIR=\"%s\"\n", SYSCONFDIR); - printf (" +EXECSHELL=\"%s\"\n", EXECSHELL); #ifdef MIXMASTER printf (" +MIXMASTER=\"%s\"\n\n", MIXMASTER); #else @@ -490,8 +461,7 @@ static void show_version (void) puts (_(ReachingUs)); - puts (_("Mutt-ng is based on the following patches written for mutt:\n")); - mutt_print_patchlist (); + puts (_("MadMutt is based on Mutt-ng wich was based on Mutt before\n")); exit (0); } @@ -557,8 +527,6 @@ int main (int argc, char **argv) int i; int explicit_folder = 0; int dump_variables = -1; - extern char *optarg; - extern int optind; /* initialize random number for tmp file creation */ srand ((unsigned int) time (NULL)); @@ -584,16 +552,16 @@ int main (int argc, char **argv) SRAND (time (NULL)); umask (077); - memset (Options, 0, sizeof (Options)); - memset (QuadOptions, 0, sizeof (QuadOptions)); + p_clear(Options, sizeof(Options)); + p_clear(QuadOptions, sizeof(QuadOptions)); #ifdef USE_NNTP while ((i = getopt (argc, argv, - "A:a:b:F:f:c:d:e:g:GH:s:i:hm:npQ:RTtvxyzZ")) != EOF) + "A:a:b:F:f:c:d:e:g:GH:s:i:hm:npQ:RTtvyzZ")) != EOF) #else while ((i = - getopt (argc, argv, "A:a:b:F:f:c:d:e:H:s:i:hm:npQ:RTtvxyzZ")) != EOF) + getopt (argc, argv, "A:a:b:F:f:c:d:e:H:s:i:hm:npQ:RTtvyzZ")) != EOF) #endif switch (i) { case 'A': @@ -609,11 +577,11 @@ int main (int argc, char **argv) break; case 'F': - str_replace (&Muttrc, optarg); + m_strreplace(&Muttrc, optarg); break; case 'f': - strfcpy (folder, optarg, sizeof (folder)); + m_strcpy(folder, sizeof(folder), optarg); explicit_folder = 1; break; @@ -630,10 +598,14 @@ int main (int argc, char **argv) break; case 'd': - debug_setlevel(atoi(optarg)); -#ifndef DEBUG - printf _("DEBUG was not defined during compilation. Ignored.\n"); -#endif + { + char buf[LONG_STRING]; + int level = atoi (optarg); + + snprintf (buf, sizeof (buf), "set debug_level=%d", level); + commands = mutt_add_list (commands, buf); + debug_setlevel (level); + } break; case 't': @@ -685,10 +657,6 @@ int main (int argc, char **argv) version++; break; - case 'x': /* mailx compatible send mode */ - sendflags |= SENDMAILX; - break; - case 'y': /* My special hack mode */ flags |= M_SELECT; break; @@ -698,7 +666,7 @@ int main (int argc, char **argv) { char buf[LONG_STRING]; - snprintf (buf, sizeof (buf), "set news_server=%s", optarg); + snprintf (buf, sizeof (buf), "set nntp_host=%s", optarg); commands = mutt_add_list (commands, buf); } @@ -727,7 +695,11 @@ int main (int argc, char **argv) break; default: puts (mutt_make_version (1)); - puts (_(Copyright)); + puts (_(Copyright_Mutt)); + puts (_(Copyright_Mutt_NG)); + puts (_(Copyright_GPL_1)); + puts (_(Copyright_GPL_2)); + puts (_(Copyright_GPL_3)); puts (_(ReachingUs)); exit (0); } @@ -758,7 +730,7 @@ int main (int argc, char **argv) if (alias_queries) { int rv = 0; - ADDRESS *a; + address_t *a; for (; alias_queries; alias_queries = alias_queries->next) { if ((a = mutt_lookup_alias (alias_queries->data))) { @@ -790,12 +762,10 @@ int main (int argc, char **argv) char fpath[_POSIX_PATH_MAX]; char msg[STRING]; - strfcpy (fpath, Maildir, sizeof (fpath)); + m_strcpy(fpath, sizeof(fpath), Maildir); mutt_expand_path (fpath, sizeof (fpath)); -#ifdef USE_IMAP /* we're not connected yet - skip mail folder creation */ 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?"), Maildir); @@ -846,7 +816,7 @@ int main (int argc, char **argv) } if (subject) - msg->env->subject = str_dup (subject); + msg->env->subject = m_strdup(subject); if (includeFile) infile = includeFile; @@ -854,12 +824,12 @@ int main (int argc, char **argv) if (infile || bodytext) { if (infile) { - if (str_cmp ("-", infile) == 0) + if (m_strcmp("-", infile) == 0) fin = stdin; else { char path[_POSIX_PATH_MAX]; - strfcpy (path, infile, sizeof (path)); + m_strcpy(path, sizeof(path), infile); mutt_expand_path (path, sizeof (path)); if ((fin = fopen (path, "r")) == NULL) { if (!option (OPTNOCURSES)) @@ -873,7 +843,7 @@ int main (int argc, char **argv) fin = NULL; mutt_mktemp (buf); - tempfile = str_dup (buf); + tempfile = m_strdup(buf); if (draftFile) msg->env = mutt_read_rfc822_header (fin, NULL, 1, 0); @@ -888,7 +858,7 @@ int main (int argc, char **argv) mutt_endwin (NULL); perror (tempfile); fclose (fin); - mem_free (&tempfile); + p_delete(&tempfile); exit (1); } if (fin) @@ -901,7 +871,7 @@ int main (int argc, char **argv) } } - mem_free (&bodytext); + p_delete(&bodytext); if (attach) { LIST *t = attach; @@ -966,7 +936,7 @@ int main (int argc, char **argv) } if (!folder[0]) - strfcpy (folder, NONULL (Spoolfile), sizeof (folder)); + m_strcpy(folder, sizeof(folder), NONULL(Spoolfile)); #ifdef USE_NNTP if (option (OPTNEWS)) { @@ -978,8 +948,8 @@ int main (int argc, char **argv) #endif mutt_expand_path (folder, sizeof (folder)); - str_replace (&CurrentFolder, folder); - str_replace (&LastFolder, folder); + m_strreplace(&CurrentFolder, folder); + m_strreplace(&LastFolder, folder); if (flags & M_IGNORE) { /* check to see if there are any messages in the folder */ @@ -1003,7 +973,7 @@ int main (int argc, char **argv) if (option (OPTXTERMSETTITLES)) mutt_xterm_set_title (NONULL (XtermLeave)); if (Context) - mem_free (&Context); + p_delete(&Context); } mutt_endwin (Errorbuf); }