projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
put old m_snsubst into file.c as m_file_fmt.
[apps/madmutt.git]
/
send.c
diff --git
a/send.c
b/send.c
index
bbebca3
..
736e0c0
100644
(file)
--- a/
send.c
+++ b/
send.c
@@
-7,47
+7,25
@@
* please see the file GPL in the top level source directory.
*/
* please see the file GPL in the top level source directory.
*/
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-#include <errno.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <dirent.h>
-#include <time.h>
-#include <sys/types.h>
+#include <lib-lib/lib-lib.h>
#include <utime.h>
#include <utime.h>
-#include <lib-lib/mem.h>
-#include <lib-lib/str.h>
-#include <lib-lib/ascii.h>
-#include <lib-lib/macros.h>
-#include <lib-lib/file.h>
-#include <lib-lib/debug.h>
-#include <lib-lib/url.h>
-
#include <lib-mime/mime.h>
#include <lib-mime/mime.h>
-
+#include <lib-mime/rfc3676.h>
+#include <lib-sys/unix.h>
#include <lib-ui/curses.h>
#include <lib-ui/enter.h>
#include <lib-ui/curses.h>
#include <lib-ui/enter.h>
+#include <lib-mx/mx.h>
-#include "mutt.h"
#include "alias.h"
#include "alias.h"
-#include "rfc3676.h"
#include "keymap.h"
#include "copy.h"
#include "keymap.h"
#include "copy.h"
-#include "mx.h"
#include <lib-crypt/crypt.h>
#include "mutt_idna.h"
#include "attach.h"
#ifdef USE_NNTP
#include <lib-crypt/crypt.h>
#include "mutt_idna.h"
#include "attach.h"
#ifdef USE_NNTP
-#include
"nntp.h"
+#include
<nntp/nntp.h>
#endif
#ifdef MIXMASTER
#endif
#ifdef MIXMASTER
@@
-184,7
+162,7
@@
static address_t *find_mailing_lists (address_t * t, address_t * c)
static int edit_address (address_t ** a, const char *field)
{
char buf[HUGE_STRING];
static int edit_address (address_t ** a, const char *field)
{
char buf[HUGE_STRING];
- c
onst c
har *err = NULL;
+ char *err = NULL;
int idna_ok = 0;
do {
int idna_ok = 0;
do {
@@
-303,7
+281,7
@@
static int edit_envelope (ENVELOPE * en, int flags)
}
#ifdef USE_NNTP
}
#ifdef USE_NNTP
-char *nntp_get_header(const char *s)
+
static
char *nntp_get_header(const char *s)
{
return m_strdup(skipspaces(s));
}
{
return m_strdup(skipspaces(s));
}
@@
-586,25
+564,6
@@
int mutt_fetch_recips (ENVELOPE * out, ENVELOPE * in, int flags)
return 0;
}
return 0;
}
-string_list_t *mutt_make_references (ENVELOPE * e)
-{
- string_list_t *t = NULL, *l = NULL;
-
- if (e->references)
- l = string_list_dup(e->references);
- else
- l = string_list_dup(e->in_reply_to);
-
- if (e->message_id) {
- t = string_item_new();
- t->data = m_strdup(e->message_id);
- t->next = l;
- l = t;
- }
-
- return l;
-}
-
void mutt_fix_reply_recipients (ENVELOPE * env)
{
mutt_expand_aliases_env (env);
void mutt_fix_reply_recipients (ENVELOPE * env)
{
mutt_expand_aliases_env (env);
@@
-618,8
+577,8
@@
void mutt_fix_reply_recipients (ENVELOPE * env)
}
/* the CC field can get cluttered, especially with lists */
}
/* the CC field can get cluttered, especially with lists */
-
env->to = mutt_remove_duplicates
(env->to);
-
env->cc = mutt_remove_duplicates
(env->cc);
+
address_list_uniq
(env->to);
+
address_list_uniq
(env->cc);
env->cc = mutt_remove_xrefs (env->to, env->cc);
if (env->cc && !env->to) {
env->cc = mutt_remove_xrefs (env->to, env->cc);
if (env->cc && !env->to) {
@@
-657,6
+616,25
@@
void mutt_make_misc_reply_headers (ENVELOPE * env, CONTEXT * ctx,
#endif
}
#endif
}
+static string_list_t *mutt_make_references (ENVELOPE * e)
+{
+ string_list_t *t = NULL, *l = NULL;
+
+ if (e->references)
+ l = string_list_dup(e->references);
+ else
+ l = string_list_dup(e->in_reply_to);
+
+ if (e->message_id) {
+ t = string_item_new();
+ t->data = m_strdup(e->message_id);
+ t->next = l;
+ l = t;
+ }
+
+ return l;
+}
+
void mutt_add_to_reference_headers (ENVELOPE * env, ENVELOPE * curenv,
string_list_t *** pp, string_list_t *** qq)
{
void mutt_add_to_reference_headers (ENVELOPE * env, ENVELOPE * curenv,
string_list_t *** pp, string_list_t *** qq)
{
@@
-926,7
+904,7
@@
void mutt_set_followup_to (ENVELOPE * e)
}
}
}
}
-
e->mail_followup_to = mutt_remove_duplicates
(e->mail_followup_to);
+
address_list_uniq
(e->mail_followup_to);
}
}
}
}
@@
-1100,8
+1078,8
@@
int ci_send_message (int flags, /* send mode */
char *pgpkeylist = NULL;
/* save current value of "pgp_sign_as" */
char *pgpkeylist = NULL;
/* save current value of "pgp_sign_as" */
- char *signas = NULL;
- const char *tag = NULL
, *err = NULL
;
+ char *signas = NULL
, *err = NULL
;
+ const char *tag = NULL;
char *ctype;
int rv = -1;
char *ctype;
int rv = -1;
@@
-1179,7
+1157,7
@@
int ci_send_message (int flags, /* send mode */
}
if (!(flags & (SENDKEY | SENDPOSTPONED | SENDRESEND))) {
}
if (!(flags & (SENDKEY | SENDPOSTPONED | SENDRESEND))) {
- pbody =
mutt_new_body
();
+ pbody =
body_new
();
pbody->next = msg->content; /* don't kill command-line attachments */
msg->content = pbody;
pbody->next = msg->content; /* don't kill command-line attachments */
msg->content = pbody;
@@
-1193,9
+1171,9
@@
int ci_send_message (int flags, /* send mode */
msg->content->disposition = DISPINLINE;
if (option (OPTTEXTFLOWED) && msg->content->type == TYPETEXT
&& !ascii_strcasecmp (msg->content->subtype, "plain")) {
msg->content->disposition = DISPINLINE;
if (option (OPTTEXTFLOWED) && msg->content->type == TYPETEXT
&& !ascii_strcasecmp (msg->content->subtype, "plain")) {
-
mutt_set_parameter ("format", "flowed", &msg->content->parameter
);
+
parameter_setval(&msg->content->parameter, "format", "flowed"
);
if (option (OPTDELSP))
if (option (OPTDELSP))
-
mutt_set_parameter ("delsp", "yes", &msg->content->parameter
);
+
parameter_setval(&msg->content->parameter, "delsp", "yes"
);
}
if (!tempfile) {
}
if (!tempfile) {
@@
-1209,8
+1187,6
@@
int ci_send_message (int flags, /* send mode */
}
if (!tempfp) {
}
if (!tempfp) {
- debug_print (1, ("can't create tempfile %s (errno=%d)\n",
- msg->content->filename, errno));
mutt_perror (msg->content->filename);
goto cleanup;
}
mutt_perror (msg->content->filename);
goto cleanup;
}
@@
-1420,7
+1396,7
@@
int ci_send_message (int flags, /* send mode */
query_quadoption (OPT_FORWEDIT,
_("Edit forwarded message?")) == M_YES)) {
/* If the this isn't a text message, look for a mailcap edit command */
query_quadoption (OPT_FORWEDIT,
_("Edit forwarded message?")) == M_YES)) {
/* If the this isn't a text message, look for a mailcap edit command */
- if (
mutt_needs_mailcap
(msg->content)) {
+ if (
rfc1524_mailcap_isneeded
(msg->content)) {
if (!mutt_edit_attachment (msg->content))
goto cleanup;
} else if (option (OPTEDITHDRS)) {
if (!mutt_edit_attachment (msg->content))
goto cleanup;
} else if (option (OPTEDITHDRS)) {
@@
-1728,10
+1704,10
@@
int ci_send_message (int flags, /* send mode */
if (save_sig) {
/* cleanup the second signature structures */
if (save_content->parts) {
if (save_sig) {
/* cleanup the second signature structures */
if (save_content->parts) {
-
mutt_free_body
(&save_content->parts->next);
+
body_list_wipe
(&save_content->parts->next);
save_content->parts = NULL;
}
save_content->parts = NULL;
}
-
mutt_free_body
(&save_content);
+
body_list_wipe
(&save_content);
/* restore old signature and attachments */
msg->content->parts->next = save_sig;
/* restore old signature and attachments */
msg->content->parts->next = save_sig;
@@
-1739,7
+1715,7
@@
int ci_send_message (int flags, /* send mode */
}
else if (save_content) {
/* destroy the new encrypted body. */
}
else if (save_content) {
/* destroy the new encrypted body. */
-
mutt_free_body
(&save_content);
+
body_list_wipe
(&save_content);
}
}
}
}
@@
-1755,11
+1731,11
@@
int ci_send_message (int flags, /* send mode */
if ((msg->security & ENCRYPT)
|| ((msg->security & SIGN)
&& msg->content->type == TYPEAPPLICATION)) {
if ((msg->security & ENCRYPT)
|| ((msg->security & SIGN)
&& msg->content->type == TYPEAPPLICATION)) {
-
mutt_free_body
(&msg->content); /* destroy PGP data */
+
body_list_wipe
(&msg->content); /* destroy PGP data */
msg->content = clear_content; /* restore clear text. */
}
else if ((msg->security & SIGN) && msg->content->type == TYPEMULTIPART) {
msg->content = clear_content; /* restore clear text. */
}
else if ((msg->security & SIGN) && msg->content->type == TYPEMULTIPART) {
-
mutt_free_body
(&msg->content->parts->next); /* destroy sig */
+
body_list_wipe
(&msg->content->parts->next); /* destroy sig */
msg->content = mutt_remove_multipart (msg->content);
}
msg->content = mutt_remove_multipart (msg->content);
}
@@
-1787,7
+1763,7
@@
int ci_send_message (int flags, /* send mode */
p_delete(&pgpkeylist);
if (free_clear_content)
p_delete(&pgpkeylist);
if (free_clear_content)
-
mutt_free_body
(&clear_content);
+
body_list_wipe
(&clear_content);
if (flags & SENDREPLY) {
if (cur && ctx)
if (flags & SENDREPLY) {
if (cur && ctx)