/*
+ * Copyright notice from original mutt:
* Copyright (C) 1996-2000 Michael R. Elkins <me@mutt.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ *
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
*/
/* Close approximation of the mailx(1) builtin editor for sending mail. */
#endif
#include "mutt.h"
+#include "ascii.h"
+#include "enter.h"
#include "mutt_curses.h"
#include "mutt_idna.h"
+#include "lib/mem.h"
+#include "lib/intl.h"
+#include "lib/str.h"
+
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
tmp[sizeof (tmp) - 1] = 0;
if (prefix) {
strfcpy (tmp, NONULL (Prefix), sizeof (tmp));
- tmplen = mutt_strlen (tmp);
+ tmplen = str_len (tmp);
p = tmp + tmplen;
tmplen = sizeof (tmp) - tmplen;
}
while (bytes > 0) {
if (fgets (p, tmplen - 1, f) == NULL)
break;
- bytes -= mutt_strlen (p);
+ bytes -= str_len (p);
if (*bufmax == *buflen)
- safe_realloc (&buf, sizeof (char *) * (*bufmax += 25));
- buf[(*buflen)++] = safe_strdup (tmp);
+ mem_realloc (&buf, sizeof (char *) * (*bufmax += 25));
+ buf[(*buflen)++] = str_dup (tmp);
}
if (buf && *bufmax == *buflen) { /* Do not smash memory past buf */
- safe_realloc (&buf, sizeof (char *) * (++*bufmax));
+ mem_realloc (&buf, sizeof (char *) * (++*bufmax));
}
if (buf)
buf[*buflen] = NULL;
static void be_free_memory (char **buf, int buflen)
{
while (buflen-- > 0)
- FREE (&buf[buflen]);
+ mem_free (&buf[buflen]);
if (buf)
- FREE (&buf);
+ mem_free (&buf);
}
static char **be_include_messages (char *msg, char **buf, int *bufmax,
}
if (*bufmax == *buflen)
- safe_realloc (&buf, sizeof (char *) * (*bufmax += 25));
- buf[(*buflen)++] = safe_strdup (tmp);
+ mem_realloc (&buf, sizeof (char *) * (*bufmax += 25));
+ buf[(*buflen)++] = str_dup (tmp);
bytes = Context->hdrs[n]->content->length;
if (inc_hdrs) {
pfx);
if (*bufmax == *buflen)
- safe_realloc (&buf, sizeof (char *) * (*bufmax += 25));
- buf[(*buflen)++] = safe_strdup ("\n");
+ mem_realloc (&buf, sizeof (char *) * (*bufmax += 25));
+ buf[(*buflen)++] = str_dup ("\n");
}
else
printw (_("%d: invalid message number.\n"), n);
addstr ("Subject: ");
strfcpy (tmp, e->subject ? e->subject : "", sizeof (tmp));
if (mutt_enter_string (tmp, sizeof (tmp), LINES - 1, 9, 0) == 0)
- mutt_str_replace (&e->subject, tmp);
+ str_replace (&e->subject, tmp);
addch ('\n');
}
if (EscChar && tmp[0] == EscChar[0] && tmp[1] != EscChar[0]) {
/* remove trailing whitespace from the line */
- p = tmp + mutt_strlen (tmp) - 1;
+ p = tmp + str_len (tmp) - 1;
while (p >= tmp && ISSPACE (*p))
*p-- = 0;
if (Context) {
if (!*p && cur) {
/* include the current message */
- p = tmp + mutt_strlen (tmp) + 1;
- snprintf (tmp + mutt_strlen (tmp),
- sizeof (tmp) - mutt_strlen (tmp), " %d",
+ p = tmp + str_len (tmp) + 1;
+ snprintf (tmp + str_len (tmp),
+ sizeof (tmp) - str_len (tmp), " %d",
cur->msgno + 1);
}
buf = be_include_messages (p, buf, &bufmax, &buflen,
addstr (_("missing filename.\n"));
break;
case 's':
- mutt_str_replace (&msg->env->subject, p);
+ str_replace (&msg->env->subject, p);
break;
case 't':
msg->env->to = rfc822_parse_adrlist (msg->env->to, p);
if (buflen) {
buflen--;
strfcpy (tmp, buf[buflen], sizeof (tmp));
- tmp[mutt_strlen (tmp) - 1] = 0;
- FREE (&buf[buflen]);
+ tmp[str_len (tmp) - 1] = 0;
+ mem_free (&buf[buflen]);
buf[buflen] = NULL;
continue;
}
break;
}
}
- else if (mutt_strcmp (".", tmp) == 0)
+ else if (str_cmp (".", tmp) == 0)
done = 1;
else {
- safe_strcat (tmp, sizeof (tmp), "\n");
+ str_cat (tmp, sizeof (tmp), "\n");
if (buflen == bufmax)
- safe_realloc (&buf, sizeof (char *) * (bufmax += 25));
- buf[buflen++] = safe_strdup (tmp[1] == '~' ? tmp + 1 : tmp);
+ mem_realloc (&buf, sizeof (char *) * (bufmax += 25));
+ buf[buflen++] = str_dup (tmp[1] == '~' ? tmp + 1 : tmp);
}
tmp[0] = 0;