# include "config.h"
#endif
+#include <lib-lib/mem.h>
+#include <lib-lib/file.h>
+#include <lib-lib/macros.h>
+#include <lib-lib/ascii.h>
+
#include "mutt.h"
#include "enter.h"
#include "recvattach.h"
-#include "ascii.h"
#include "mutt_curses.h"
#include "mutt_menu.h"
#include "mime.h"
#include "buffy.h"
#endif
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
#include "lib/debug.h"
#include <errno.h>
}
}
- if (!Pager || str_cmp (Pager, "builtin") == 0)
+ if (!Pager || m_strcmp(Pager, "builtin") == 0)
builtin = 1;
else {
mutt_make_string (buf, sizeof (buf), NONULL (PagerFmt), Context, cur);
mutt_wait_filter (filterpid);
safe_fclose (&fpfilterout);
}
+#if 0
+ /* this is maybe just plain wrong but it makes the pager display
+ * what we have; i.e. for the crypto stuff we only get
+ * 'Could not copy message' for invalid passphrases, no PGP output
+ * not nothing; so just display what we have...
+ * - pdmef
+ */
mutt_unlink (tempfile);
return 0;
+#endif
}
if (fpfilterout != NULL && mutt_wait_filter (filterpid) != 0)
}
/* Invoke the builtin pager */
- memset (&info, 0, sizeof (pager_t));
+ p_clear(&info, 1);
info.hdr = cur;
info.ctx = Context;
rc = mutt_pager (NULL, tempfile, M_PAGER_MESSAGE, &info);
if (mutt_addrlist_to_idna (adr, &err) < 0) {
mutt_error (_("Bad IDN: '%s'"), err);
- mem_free (&err);
+ p_delete(&err);
rfc822_free_address (&adr);
return;
}
buf);
if (mutt_strwidth (prompt) > COLS - extra_space) {
- mutt_format_string (prompt, sizeof (prompt),
- 0, COLS - extra_space, 0, 0,
- prompt, sizeof (prompt), 0);
- str_cat (prompt, sizeof (prompt), "...?");
+ mutt_format_string(prompt, sizeof(prompt), 0, COLS - extra_space, 0, 0,
+ prompt, sizeof(prompt), 0);
+ m_strcat(prompt, sizeof(prompt), "...?");
+ } else {
+ m_strcat(prompt, sizeof(prompt), "?");
}
- else
- str_cat (prompt, sizeof (prompt), "?");
if (query_quadoption (OPT_BOUNCE, prompt) != M_YES) {
rfc822_free_address (&adr);
/* the following code is shared between printing and piping */
-static int _mutt_pipe_message (HEADER * h, char *cmd,
- int decode, int print, int split, char *sep)
+static int _mutt_pipe_message(HEADER * h, char *cmd, int decode, int print,
+ int split, const char *sep)
{
int i, rc = 0;
return;
err.data = errbuf;
err.dsize = sizeof (errbuf);
- memset (&token, 0, sizeof (token));
+ p_clear(&token, 1);
r = mutt_parse_rc_line (buffer, &token, &err);
- mem_free (&token.data);
+ p_delete(&token.data);
if (errbuf[0]) {
/* since errbuf could potentially contain printf() sequences in it,
we must call mutt_error() in this fashion so that vsprintf()
void mutt_display_address (ENVELOPE * env)
{
- char *pfx = NULL;
+ const char *pfx = NULL;
char buf[SHORT_STRING];
ADDRESS *adr = NULL;
- adr = mutt_get_address (env, &pfx);
+ adr = mutt_get_address(env, &pfx);
if (!adr)
return;
/* This is an undocumented feature of ELM pointed out to me by Felix von
* Leitner <leitner@prz.fu-berlin.de>
*/
- if (str_cmp (buf, ".") == 0)
+ if (m_strcmp(buf, ".") == 0)
strfcpy (buf, LastSaveFolder, sizeof (buf));
else
strfcpy (LastSaveFolder, buf, sizeof (LastSaveFolder));
void mutt_version (void)
{
- mutt_message (mutt_make_version ());
+ mutt_message (mutt_make_version (1));
}
void mutt_edit_content_type (HEADER * h, BODY * b, FILE * fp)
size_t l;
for (p = b->parameter; p; p = p->next) {
- l = str_len (buf);
+ l = m_strlen(buf);
rfc822_cat (tmp, sizeof (tmp), p->value, MimeSpecials);
snprintf (buf + l, sizeof (buf) - l, "; %s=%s", p->attribute, tmp);
/* clean up previous junk */
mutt_free_parameter (&b->parameter);
- mem_free (&b->subtype);
+ p_delete(&b->subtype);
mutt_parse_content_type (buf, b);