projects
/
apps
/
madmutt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
oops, we don't need that. fix a regression in <esc>e
[apps/madmutt.git]
/
recvcmd.c
diff --git
a/recvcmd.c
b/recvcmd.c
index
9c6c844
..
6d0a4ea
100644
(file)
--- a/
recvcmd.c
+++ b/
recvcmd.c
@@
-11,21
+11,27
@@
# include "config.h"
#endif
# include "config.h"
#endif
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/macros.h>
+#include <lib-lib/file.h>
+#include <lib-lib/mapping.h>
+
+#include <lib-mime/mime.h>
+
#include "mutt.h"
#include "mutt.h"
+#include "enter.h"
+#include "state.h"
+#include "handler.h"
+#include "recvattach.h"
#include "mutt_curses.h"
#include "mutt_menu.h"
#include "rfc1524.h"
#include "mutt_curses.h"
#include "mutt_menu.h"
#include "rfc1524.h"
-#include "mime.h"
-#include "mailbox.h"
#include "attach.h"
#include "attach.h"
-#include "mapping.h"
#include "mx.h"
#include "copy.h"
#include "mutt_idna.h"
#include "mx.h"
#include "copy.h"
#include "mutt_idna.h"
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
/* some helper functions to verify that we are exclusively operating
* on message/rfc822 attachments
/* some helper functions to verify that we are exclusively operating
* on message/rfc822 attachments
@@
-113,14
+119,14
@@
static short count_tagged_children (ATTACHPTR ** idx, short idxlen, short i)
**
**/
**
**/
-void mutt_attach_bounce (FILE * fp, HEADER * hdr,
+void mutt_attach_bounce (FILE * fp, HEADER * hdr
__attribute__ ((unused))
,
ATTACHPTR ** idx, short idxlen, BODY * cur)
{
short i;
char prompt[STRING];
char buf[HUGE_STRING];
ATTACHPTR ** idx, short idxlen, BODY * cur)
{
short i;
char prompt[STRING];
char buf[HUGE_STRING];
- char *err = NULL;
-
ADDRESS
*adr = NULL;
+ c
onst c
har *err = NULL;
+
address_t
*adr = NULL;
int ret = 0;
int p = 0;
int ret = 0;
int p = 0;
@@
-131,9
+137,9
@@
void mutt_attach_bounce (FILE * fp, HEADER * hdr,
p = (cur || count_tagged (idx, idxlen) == 1);
if (p)
p = (cur || count_tagged (idx, idxlen) == 1);
if (p)
-
strfcpy (prompt, _("Bounce message to: "), sizeof (prompt
));
+
m_strcpy(prompt, sizeof(prompt), _("Bounce message to: "
));
else
else
-
strfcpy (prompt, _("Bounce tagged messages to: "), sizeof (prompt
));
+
m_strcpy(prompt, sizeof(prompt), _("Bounce tagged messages to: "
));
buf[0] = '\0';
if (mutt_get_field (prompt, buf, sizeof (buf), M_ALIAS)
buf[0] = '\0';
if (mutt_get_field (prompt, buf, sizeof (buf), M_ALIAS)
@@
-150,8
+156,8
@@
void mutt_attach_bounce (FILE * fp, HEADER * hdr,
if (mutt_addrlist_to_idna (adr, &err) < 0) {
mutt_error (_("Bad IDN: '%s'"), err);
if (mutt_addrlist_to_idna (adr, &err) < 0) {
mutt_error (_("Bad IDN: '%s'"), err);
-
FREE
(&err);
-
rfc822_free_address
(&adr);
+
p_delete
(&err);
+
address_delete
(&adr);
return;
}
return;
}
@@
-170,13
+176,13
@@
void mutt_attach_bounce (FILE * fp, HEADER * hdr,
mutt_format_string (prompt, sizeof (prompt) - 4,
0, COLS - extra_space, 0, 0,
prompt, sizeof (prompt), 0);
mutt_format_string (prompt, sizeof (prompt) - 4,
0, COLS - extra_space, 0, 0,
prompt, sizeof (prompt), 0);
- safe_strcat (prompt, sizeof (prompt), "...?");
+ m_strcat(prompt, sizeof(prompt), "...?");
+ } else {
+ m_strcat(prompt, sizeof(prompt), "?");
}
}
- else
- safe_strcat (prompt, sizeof (prompt), "?");
if (query_quadoption (OPT_BOUNCE, prompt) != M_YES) {
if (query_quadoption (OPT_BOUNCE, prompt) != M_YES) {
-
rfc822_free_address
(&adr);
+
address_delete
(&adr);
CLEARLINE (LINES - 1);
mutt_message (p ? _("Message not bounced.") : _("Messages not bounced."));
return;
CLEARLINE (LINES - 1);
mutt_message (p ? _("Message not bounced.") : _("Messages not bounced."));
return;
@@
-210,7
+216,7
@@
void mutt_attach_bounce (FILE * fp, HEADER * hdr,
**
**/
**
**/
-void mutt_attach_resend (FILE * fp, HEADER * hdr, ATTACHPTR ** idx,
+void mutt_attach_resend (FILE * fp, HEADER * hdr
__attribute__ ((unused))
, ATTACHPTR ** idx,
short idxlen, BODY * cur)
{
short i;
short idxlen, BODY * cur)
{
short i;
@@
-311,12
+317,12
@@
static void include_header (int quote, FILE * ifp,
if (quote) {
if (_prefix)
if (quote) {
if (_prefix)
-
strfcpy (prefix, _prefix, sizeof (prefix)
);
+
m_strcpy(prefix, sizeof(prefix), _prefix
);
else if (!option (OPTTEXTFLOWED))
_mutt_make_string (prefix, sizeof (prefix), NONULL (Prefix),
Context, hdr, 0);
else
else if (!option (OPTTEXTFLOWED))
_mutt_make_string (prefix, sizeof (prefix), NONULL (Prefix),
Context, hdr, 0);
else
-
strfcpy (prefix, ">", sizeof (prefix)
);
+
m_strcpy(prefix, sizeof(prefix), ">"
);
chflags |= CH_PREFIX;
}
chflags |= CH_PREFIX;
}
@@
-382,8
+388,8
@@
static void attach_forward_bodies (FILE * fp, HEADER * hdr,
parent = hdr;
parent = hdr;
- tmphdr =
mutt_new_header
();
- tmphdr->env =
mutt_new_envelope
();
+ tmphdr =
header_new
();
+ tmphdr->env =
envelope_new
();
mutt_make_forward_subject (tmphdr->env, Context, parent);
mutt_mktemp (tmpbody);
mutt_make_forward_subject (tmphdr->env, Context, parent);
mutt_mktemp (tmpbody);
@@
-401,7
+407,7
@@
static void attach_forward_bodies (FILE * fp, HEADER * hdr,
_mutt_make_string (prefix, sizeof (prefix), NONULL (Prefix), Context,
parent, 0);
else
_mutt_make_string (prefix, sizeof (prefix), NONULL (Prefix), Context,
parent, 0);
else
-
strfcpy (prefix, ">", sizeof (prefix)
);
+
m_strcpy(prefix, sizeof(prefix), ">"
);
}
include_header (option (OPTFORWQUOTE), fp, parent, tmpfp, prefix);
}
include_header (option (OPTFORWQUOTE), fp, parent, tmpfp, prefix);
@@
-440,7
+446,7
@@
static void attach_forward_bodies (FILE * fp, HEADER * hdr,
/* initialize a state structure */
/* initialize a state structure */
-
memset (&st, 0, sizeof (st)
);
+
p_clear(&st, 1
);
if (option (OPTFORWQUOTE))
st.prefix = prefix;
if (option (OPTFORWQUOTE))
st.prefix = prefix;
@@
-501,7
+507,7
@@
bail:
mutt_unlink (tmpbody);
}
mutt_unlink (tmpbody);
}
-
mutt_free_header
(&tmphdr);
+
header_delete
(&tmphdr);
}
}
@@
-516,7
+522,7
@@
bail:
* the attachment index.
*/
* the attachment index.
*/
-static void attach_forward_msgs (FILE * fp, HEADER * hdr,
+static void attach_forward_msgs (FILE * fp, HEADER * hdr
__attribute__ ((unused))
,
ATTACHPTR ** idx, short idxlen, BODY * cur,
int flags)
{
ATTACHPTR ** idx, short idxlen, BODY * cur,
int flags)
{
@@
-542,8
+548,8
@@
static void attach_forward_msgs (FILE * fp, HEADER * hdr,
}
}
}
}
- tmphdr =
mutt_new_header
();
- tmphdr->env =
mutt_new_envelope
();
+ tmphdr =
header_new
();
+ tmphdr->env =
envelope_new
();
mutt_make_forward_subject (tmphdr->env, Context, curhdr);
mutt_make_forward_subject (tmphdr->env, Context, curhdr);
@@
-557,7
+563,7
@@
static void attach_forward_msgs (FILE * fp, HEADER * hdr,
mutt_mktemp (tmpbody);
if (!(tmpfp = safe_fopen (tmpbody, "w"))) {
mutt_error (_("Can't create %s."), tmpbody);
mutt_mktemp (tmpbody);
if (!(tmpfp = safe_fopen (tmpbody, "w"))) {
mutt_error (_("Can't create %s."), tmpbody);
-
mutt_free_header
(&tmphdr);
+
header_delete
(&tmphdr);
return;
}
return;
}
@@
-609,7
+615,7
@@
static void attach_forward_msgs (FILE * fp, HEADER * hdr,
}
}
else
}
}
else
-
mutt_free_header
(&tmphdr);
+
header_delete
(&tmphdr);
ci_send_message (flags, tmphdr, *tmpbody ? tmpbody : NULL, NULL, curhdr);
ci_send_message (flags, tmphdr, *tmpbody ? tmpbody : NULL, NULL, curhdr);
@@
-684,8
+690,8
@@
attach_reply_envelope_defaults (ENVELOPE * env, ATTACHPTR ** idx,
if ((flags & SENDNEWS)) {
/* in case followup set Newsgroups: with Followup-To: if it present */
if (!env->newsgroups && curenv &&
if ((flags & SENDNEWS)) {
/* in case followup set Newsgroups: with Followup-To: if it present */
if (!env->newsgroups && curenv &&
-
safe_strcasecmp
(curenv->followup_to, "poster"))
- env->newsgroups =
safe_strdup
(curenv->followup_to);
+
m_strcasecmp
(curenv->followup_to, "poster"))
+ env->newsgroups =
m_strdup
(curenv->followup_to);
}
else
#endif
}
else
#endif
@@
-732,7
+738,7
@@
attach_reply_envelope_defaults (ENVELOPE * env, ATTACHPTR ** idx,
/* This is _very_ similar to send.c's include_reply(). */
static void attach_include_reply (FILE * fp, FILE * tmpfp, HEADER * cur,
/* This is _very_ similar to send.c's include_reply(). */
static void attach_include_reply (FILE * fp, FILE * tmpfp, HEADER * cur,
- int flags)
+ int flags
__attribute__ ((unused))
)
{
int cmflags = M_CM_PREFIX | M_CM_DECODE | M_CM_CHARCONV;
int chflags = CH_DECODE;
{
int cmflags = M_CM_PREFIX | M_CM_DECODE | M_CM_CHARCONV;
int chflags = CH_DECODE;
@@
-794,21
+800,21
@@
void mutt_attach_reply (FILE * fp, HEADER * hdr,
else if (nattach == 1)
mime_reply_any = 1;
else if (nattach == 1)
mime_reply_any = 1;
- tmphdr =
mutt_new_header
();
- tmphdr->env =
mutt_new_envelope
();
+ tmphdr =
header_new
();
+ tmphdr->env =
envelope_new
();
if (attach_reply_envelope_defaults (tmphdr->env, idx, idxlen,
parent ? parent : (cur ? cur->
hdr : NULL),
flags) == -1) {
if (attach_reply_envelope_defaults (tmphdr->env, idx, idxlen,
parent ? parent : (cur ? cur->
hdr : NULL),
flags) == -1) {
-
mutt_free_header
(&tmphdr);
+
header_delete
(&tmphdr);
return;
}
mutt_mktemp (tmpbody);
if ((tmpfp = safe_fopen (tmpbody, "w")) == NULL) {
mutt_error (_("Can't create %s."), tmpbody);
return;
}
mutt_mktemp (tmpbody);
if ((tmpfp = safe_fopen (tmpbody, "w")) == NULL) {
mutt_error (_("Can't create %s."), tmpbody);
-
mutt_free_header
(&tmphdr);
+
header_delete
(&tmphdr);
return;
}
return;
}
@@
-825,7
+831,7
@@
void mutt_attach_reply (FILE * fp, HEADER * hdr,
else {
mutt_make_attribution (Context, parent, tmpfp);
else {
mutt_make_attribution (Context, parent, tmpfp);
-
memset (&st, 0, sizeof (STATE)
);
+
p_clear(&st, 1
);
st.fpin = fp;
st.fpout = tmpfp;
st.fpin = fp;
st.fpout = tmpfp;
@@
-833,7
+839,7
@@
void mutt_attach_reply (FILE * fp, HEADER * hdr,
_mutt_make_string (prefix, sizeof (prefix), NONULL (Prefix),
Context, parent, 0);
else
_mutt_make_string (prefix, sizeof (prefix), NONULL (Prefix),
Context, parent, 0);
else
-
strfcpy (prefix, ">", sizeof (prefix)
);
+
m_strcpy(prefix, sizeof(prefix), ">"
);
st.prefix = prefix;
st.flags = M_CHARCONV;
st.prefix = prefix;
st.flags = M_CHARCONV;
@@
-866,7
+872,7
@@
void mutt_attach_reply (FILE * fp, HEADER * hdr,
if (mime_reply_any && !cur &&
copy_problematic_attachments (fp, &tmphdr->content, idx, idxlen,
0) == NULL) {
if (mime_reply_any && !cur &&
copy_problematic_attachments (fp, &tmphdr->content, idx, idxlen,
0) == NULL) {
-
mutt_free_header
(&tmphdr);
+
header_delete
(&tmphdr);
fclose (tmpfp);
return;
}
fclose (tmpfp);
return;
}