Revert "we use glibc, and gconv. Don't need our own transcoding stuff, glibc does"
[apps/madmutt.git] / compose.c
index 7c7517a..b6677d4 100644 (file)
--- a/compose.c
+++ b/compose.c
@@ -17,7 +17,6 @@
 #include <lib-mime/mime.h>
 
 #include <lib-ui/lib-ui.h>
-#include <lib-ui/enter.h>
 #include <lib-ui/menu.h>
 #include <lib-mx/mx.h>
 
 #include "charset.h"
 #include "buffy.h"
 
-#ifdef USE_NNTP
-#include "nntp.h"
-#endif
-
 #define CHECK_COUNT \
     if (idxlen == 0) {                             \
         mutt_error _("There are no attachments."); \
@@ -53,17 +48,7 @@ enum {
   HDR_CRYPT,
   HDR_CRYPTINFO,
 
-#ifdef USE_NNTP
-  HDR_NEWSGROUPS,
-  HDR_FOLLOWUPTO,
-  HDR_XCOMMENTTO,
-#endif
-
-#ifndef USE_NNTP
-  HDR_ATTACH = (HDR_FCC + 5)    /* where to start printing the attachments */
-#else
   HDR_ATTACH = (HDR_FCC + 7)
-#endif
 };
 
 #define HDR_XOFFSET     14
@@ -78,9 +63,6 @@ static const char *Prompts[] = {
     "Subject: ",
     "Reply-To: ",
     "Fcc: ",
-#ifdef USE_NNTP
-    "", "", "", "Newsgroups: ", "Followup-To: ", "X-Comment-To: "
-#endif
 };
 
 static void snd_entry (char *b, ssize_t blen, MUTTMENU * menu, int num) {
@@ -179,20 +161,9 @@ static void draw_envelope_addr (int line, address_t * addr)
 static void draw_envelope (HEADER * msg, char *fcc)
 {
   draw_envelope_addr (HDR_FROM, msg->env->from);
-#ifdef USE_NNTP
-  if (!option (OPTNEWSSEND)) {
-#endif
-    draw_envelope_addr (HDR_TO, msg->env->to);
-    draw_envelope_addr (HDR_CC, msg->env->cc);
-    draw_envelope_addr (HDR_BCC, msg->env->bcc);
-#ifdef USE_NNTP
-  } else {
-    mvwprintw (main_w, HDR_TO, 0, TITLE_FMT, Prompts[HDR_NEWSGROUPS - 1]);
-    mutt_paddstr (main_w, W, NONULL (msg->env->newsgroups));
-    mvwprintw (main_w, HDR_CC, 0, TITLE_FMT, Prompts[HDR_FOLLOWUPTO - 1]);
-    mutt_paddstr (main_w, W, NONULL (msg->env->followup_to));
-  }
-#endif
+  draw_envelope_addr (HDR_TO, msg->env->to);
+  draw_envelope_addr (HDR_CC, msg->env->cc);
+  draw_envelope_addr (HDR_BCC, msg->env->bcc);
   mvwprintw (main_w, HDR_SUBJECT, 0, TITLE_FMT, Prompts[HDR_SUBJECT - 1]);
   mutt_paddstr (main_w, W, NONULL (msg->env->subject));
   draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);
@@ -372,7 +343,7 @@ static const char *compose_format_str (char *buf, ssize_t buflen, char op,
     break;
 
   case 'v':
-    m_strcpy(buf, buflen, mutt_make_version());
+    m_strcpy(buf, buflen, madmutt_version);
     break;
 
   case 0:
@@ -424,13 +395,6 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
   int oldSort, oldSortAux;
   struct stat st;
 
-#ifdef USE_NNTP
-  int news = 0;                 /* is it a news article ? */
-
-  if (option (OPTNEWSSEND))
-    news++;
-#endif
-
   mutt_attach_init (msg->content);
   idx = mutt_gen_attach_list (msg->content, -1, idx, &idxlen, &idxmax, 0, 1);
 
@@ -442,12 +406,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
   menu->tag = mutt_tag_attach;
   menu->data = idx;
 
-  if (option (OPTMBOXPANE))
-    buffy_check (0);
   while (loop) {
-#ifdef USE_NNTP
-    unset_option (OPTNEWS);     /* for any case */
-#endif
     switch (op = mutt_menuLoop (menu)) {
     case OP_REDRAW:
       draw_envelope (msg, fcc);
@@ -459,74 +418,17 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
       mutt_message_hook (NULL, msg, M_SEND2HOOK);
       break;
     case OP_COMPOSE_EDIT_TO:
-#ifdef USE_NNTP
-      if (!news) {
-#endif
-        menu->redraw = edit_address_list (HDR_TO, &msg->env->to);
-        mutt_message_hook (NULL, msg, M_SEND2HOOK);
-#ifdef USE_NNTP
-      }
-#endif
+      menu->redraw = edit_address_list (HDR_TO, &msg->env->to);
+      mutt_message_hook (NULL, msg, M_SEND2HOOK);
       break;
     case OP_COMPOSE_EDIT_BCC:
-#ifdef USE_NNTP
-      if (!news) {
-#endif
-        menu->redraw = edit_address_list (HDR_BCC, &msg->env->bcc);
-        mutt_message_hook (NULL, msg, M_SEND2HOOK);
-#ifdef USE_NNTP
-      }
-#endif
+      menu->redraw = edit_address_list (HDR_BCC, &msg->env->bcc);
+      mutt_message_hook (NULL, msg, M_SEND2HOOK);
       break;
     case OP_COMPOSE_EDIT_CC:
-#ifdef USE_NNTP
-      if (!news) {
-#endif
-        menu->redraw = edit_address_list (HDR_CC, &msg->env->cc);
-        mutt_message_hook (NULL, msg, M_SEND2HOOK);
-#ifdef USE_NNTP
-      }
-#endif
-      break;
-#ifdef USE_NNTP
-    case OP_COMPOSE_EDIT_NEWSGROUPS:
-      if (news) {
-        if (msg->env->newsgroups)
-          m_strcpy(buf, sizeof(buf), msg->env->newsgroups);
-        else
-          buf[0] = 0;
-        if (mutt_get_field ("Newsgroups: ", buf, sizeof (buf), 0) == 0
-            && buf[0]) {
-          p_delete(&msg->env->newsgroups);
-          m_strrtrim(buf);
-          msg->env->newsgroups = m_strdup(skipspaces(buf));
-          wmove (main_w, HDR_TO, HDR_XOFFSET);
-          wclrtoeol (main_w);
-          if (msg->env->newsgroups)
-            wprintw (main_w, "%-*.*s", W, W, msg->env->newsgroups);
-        }
-      }
-      break;
-
-    case OP_COMPOSE_EDIT_FOLLOWUP_TO:
-      if (news) {
-        buf[0] = 0;
-        if (msg->env->followup_to)
-          m_strcpy(buf, sizeof(buf), msg->env->followup_to);
-        if (mutt_get_field ("Followup-To: ", buf, sizeof (buf), 0) == 0
-            && buf[0]) {
-          p_delete(&msg->env->followup_to);
-          m_strrtrim(buf);
-          msg->env->followup_to = m_strdup(skipspaces(buf));
-          wmove (main_w, HDR_CC, HDR_XOFFSET);
-          wclrtoeol (main_w);
-          if (msg->env->followup_to)
-            wprintw (main_w, "%-*.*s", W, W, msg->env->followup_to);
-        }
-      }
+      menu->redraw = edit_address_list (HDR_CC, &msg->env->cc);
+      mutt_message_hook (NULL, msg, M_SEND2HOOK);
       break;
-
-#endif
     case OP_COMPOSE_EDIT_SUBJECT:
       if (msg->env->subject)
         m_strcpy(buf, sizeof(buf), msg->env->subject);
@@ -647,9 +549,6 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
       break;
 
     case OP_COMPOSE_ATTACH_MESSAGE:
-#ifdef USE_NNTP
-    case OP_COMPOSE_ATTACH_NEWS_MESSAGE:
-#endif
       {
         const char *prompt;
         HEADER *h;
@@ -657,21 +556,8 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
         fname[0] = 0;
         prompt = _("Open mailbox to attach message from");
 
-#ifdef USE_NNTP
-        unset_option (OPTNEWS);
-        if (op == OP_COMPOSE_ATTACH_NEWS_MESSAGE) {
-          if (!(CurrentNewsSrv = mutt_select_newsserver (NewsServer)))
-            break;
-
-          prompt = _("Open newsgroup to attach message from");
-          set_option (OPTNEWS);
-        }
-#endif
 
         if (Context)
-#ifdef USE_NNTP
-          if ((op == OP_COMPOSE_ATTACH_MESSAGE) ^ (Context->magic == M_NNTP))
-#endif
           {
             m_strcpy(fname, sizeof(fname), NONULL(Context->path));
             mutt_pretty_mailbox (fname);
@@ -681,23 +567,14 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
             == -1 || !fname[0])
           break;
 
-#ifdef USE_NNTP
-        if (option (OPTNEWS))
-          nntp_expand_path (fname, sizeof (fname),
-                            &CurrentNewsSrv->conn->account);
-        else
-#endif
-          mutt_expand_path (fname, sizeof (fname));
-        if (mx_get_magic (fname) != M_IMAP)
-          if (mx_get_magic (fname) != M_POP)
-#ifdef USE_NNTP
-            if (mx_get_magic (fname) != M_NNTP && !option (OPTNEWS))
-#endif
+        mutt_expand_path (fname, sizeof (fname));
+        if (mx_get_magic (fname) != M_IMAP && mx_get_magic (fname) != M_POP) {
               /* check to make sure the file exists and is readable */
-              if (access (fname, R_OK) == -1) {
-                mutt_perror (fname);
-                break;
-              }
+          if (access (fname, R_OK) == -1) {
+            mutt_perror (fname);
+            break;
+          }
+        }
 
         menu->redraw = REDRAW_FULL;
 
@@ -711,7 +588,6 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
           mx_close_mailbox (ctx, NULL);
           p_delete(&ctx);
           mutt_error _("No messages in that folder.");
-
           break;
         }
 
@@ -750,7 +626,6 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
               update_idx (menu, idx, idxlen++);
             else {
               mutt_error _("Unable to attach!");
-
               p_delete(&idx[idxlen]);
             }
           }
@@ -768,8 +643,8 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
         /* Restore old $sort and $sort_aux */
         Sort = oldSort;
         SortAux = oldSortAux;
+        mutt_message_hook (NULL, msg, M_SEND2HOOK);
       }
-      mutt_message_hook (NULL, msg, M_SEND2HOOK);
       break;
 
     case OP_DELETE:
@@ -970,7 +845,6 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
         int itype;
         FILE *fp;
 
-        CLEARLINE(main_w, LINES - 1);
         fname[0] = 0;
         if (mutt_get_field (_("New file: "), fname, sizeof (fname), M_FILE)
             != 0 || !fname[0])
@@ -1131,7 +1005,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
         if (msg->content->next)
           msg->content = mutt_make_multipart (msg->content);
 
-        if (mutt_write_fcc (NONULL (fname), msg, NULL, 1, NULL) < 0)
+        if (mutt_write_fcc (fname, msg, NULL, 1, NULL) < 0)
           msg->content = mutt_remove_multipart (msg->content);
         else
           mutt_message _("Message written.");
@@ -1172,8 +1046,7 @@ int mutt_compose_menu (HEADER * msg,    /* structure for new message */
       compose_status_line (buf, sizeof (buf), menu, NONULL (ComposeFormat));
       CLEARLINE(main_w, 0);
       SETCOLOR(main_w, MT_COLOR_STATUS);
-      wmove (main_w, 0, 0);
-      wprintw (main_w, "%-*.*s", getmaxx(main_w), getmaxx(main_w), buf);
+      mvwprintw (main_w, 0, 0, "%-*.*s", getmaxx(main_w), getmaxx(main_w), buf);
       SETCOLOR(main_w, MT_COLOR_NORMAL);
       menu->redraw &= ~REDRAW_STATUS;
     }