#endif
#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/ascii.h>
+#include <lib-lib/macros.h>
+#include <lib-lib/buffer.h>
#include "mutt.h"
-#include "buffer.h"
#include "enter.h"
-#include "ascii.h"
#include "recvattach.h"
#include "mx.h"
#include "mime.h"
#include "mutt_crypt.h"
#include "url.h"
-#include "lib/intl.h"
-#include "lib/str.h"
#include "lib/rx.h"
#include "lib/debug.h"
return (line);
}
- buf += str_len (buf) - 1;
+ buf += m_strlen(buf) - 1;
if (*buf == '\n') {
/* we did get a full line. remove trailing space */
while (ISSPACE (*buf))
new = NULL;
if (*s == '<') {
- n = str_len (s);
+ n = m_strlen(s);
if (s[n - 1] != '>') {
o = s;
s = NULL;
continue;
}
- new = str_dup (s);
+ new = m_strdup(s);
}
else if (o) {
- m = str_len (s);
+ m = m_strlen(s);
if (s[m - 1] == '>') {
new = p_new(char, n + m + 1);
strcpy (new, o); /* __STRCPY_CHECKED__ */
buffer[i] = 0;
}
- new->value = str_dup (buffer);
+ new->value = m_strdup(buffer);
debug_print (2, ("`%s' = `%s'\n", new->attribute ? new->attribute : "",
new->value ? new->value : ""));
* let that take precedence, and don't set it here */
if ((pc = mutt_get_parameter ("name", ct->parameter)) != 0
&& !ct->filename)
- ct->filename = str_dup (pc);
+ ct->filename = m_strdup(pc);
#ifdef SUN_ATTACHMENT
/* this is deep and utter perversion */
*subtype++ = '\0';
for (pc = subtype; *pc && !ISSPACE (*pc) && *pc != ';'; pc++);
*pc = '\0';
- ct->subtype = str_dup (subtype);
+ ct->subtype = m_strdup(subtype);
}
/* Finally, get the major type */
#ifdef SUN_ATTACHMENT
if (ascii_strcasecmp ("x-sun-attachment", s) == 0)
- ct->subtype = str_dup ("x-sun-attachment");
+ ct->subtype = m_strdup("x-sun-attachment");
#endif
if (ct->type == TYPEOTHER) {
- ct->xtype = str_dup (s);
+ ct->xtype = m_strdup(s);
}
if (ct->subtype == NULL) {
* field, so we can attempt to convert the type to BODY here.
*/
if (ct->type == TYPETEXT)
- ct->subtype = str_dup ("plain");
+ ct->subtype = m_strdup("plain");
else if (ct->type == TYPEAUDIO)
- ct->subtype = str_dup ("basic");
+ ct->subtype = m_strdup("basic");
else if (ct->type == TYPEMESSAGE)
- ct->subtype = str_dup ("rfc822");
+ ct->subtype = m_strdup("rfc822");
else if (ct->type == TYPEOTHER) {
char buffer[SHORT_STRING];
ct->type = TYPEAPPLICATION;
snprintf (buffer, sizeof (buffer), "x-%s", s);
- ct->subtype = str_dup (buffer);
+ ct->subtype = m_strdup(buffer);
}
else
- ct->subtype = str_dup ("x-unknown");
+ ct->subtype = m_strdup("x-unknown");
}
/* Default character set for text types. */
(parms = parse_parameters (s)))) != 0)
str_replace (&ct->filename, s);
if ((s = mutt_get_parameter ("name", parms)) != 0)
- ct->form_name = str_dup (s);
+ ct->form_name = m_strdup(s);
mutt_free_parameter (&parms);
}
}
}
p->offset = ftello (fp); /* Mark the start of the real data */
if (p->type == TYPETEXT && !p->subtype)
- p->subtype = str_dup ("plain");
+ p->subtype = m_strdup("plain");
else if (p->type == TYPEMESSAGE && !p->subtype)
- p->subtype = str_dup ("rfc822");
+ p->subtype = m_strdup("rfc822");
p_delete(&line);
return (NULL);
}
- blen = str_len (boundary);
+ blen = m_strlen(boundary);
while (ftello (fp) < end_off && fgets (buffer, LONG_STRING, fp) != NULL) {
- len = str_len (buffer);
+ len = m_strlen(buffer);
crlf = (len > 1 && buffer[len - 2] == '\r') ? 1 : 0;
t = scratch;
SKIPWS (t);
- memset (&tm, 0, sizeof (tm));
+ p_clear(&tm, 1);
while ((t = strtok (t, " \t")) != NULL) {
switch (count) {
* bothered me for _years_ */
if (!e->from) {
e->from = rfc822_new_address ();
- e->from->personal = str_dup (p);
+ e->from->personal = m_strdup(p);
}
matched = 1;
}
else if (!str_casecmp (line + 1, "ollowup-to")) {
if (!e->followup_to) {
str_skip_trailws (p);
- e->followup_to = str_dup (str_skip_initws (p));
+ e->followup_to = m_strdup(str_skip_initws (p));
}
matched = 1;
}
if (!str_casecmp (line + 1, "ewsgroups")) {
p_delete(&e->newsgroups);
str_skip_trailws (p);
- e->newsgroups = str_dup (str_skip_initws (p));
+ e->newsgroups = m_strdup(str_skip_initws (p));
matched = 1;
}
break;
/* field `Organization:' saves only for pager! */
if (!str_casecmp (line + 1, "rganization")) {
if (!e->organization && str_casecmp (p, "unknown"))
- e->organization = str_dup (p);
+ e->organization = m_strdup(p);
}
break;
case 's':
if (!ascii_strcasecmp (line + 1, "ubject")) {
if (!e->subject)
- e->subject = str_dup (p);
+ e->subject = m_strdup(p);
matched = 1;
}
else if (!ascii_strcasecmp (line + 1, "ender")) {
}
else if ((!ascii_strcasecmp ("upersedes", line + 1) ||
!ascii_strcasecmp ("upercedes", line + 1)) && hdr)
- e->supersedes = str_dup (p);
+ e->supersedes = m_strdup(p);
break;
case 't':
matched = 1;
}
else if (ascii_strcasecmp (line + 1, "-label") == 0) {
- e->x_label = str_dup (p);
+ e->x_label = m_strdup(p);
matched = 1;
}
#ifdef USE_NNTP
else if (!str_casecmp (line + 1, "-comment-to")) {
if (!e->x_comment_to)
- e->x_comment_to = str_dup (p);
+ e->x_comment_to = m_strdup(p);
matched = 1;
}
else if (!str_casecmp (line + 1, "ref")) {
if (!e->xref)
- e->xref = str_dup (p);
+ e->xref = m_strdup(p);
matched = 1;
}
#endif
/* Keep track of the user-defined headers */
if (!matched && user_hdrs) {
/* restore the original line */
- line[str_len (line)] = ':';
+ line[m_strlen(line)] = ':';
if (weed && option (OPTWEED) && mutt_matches_ignore (line, Ignore)
&& !mutt_matches_ignore (line, UnIgnore))
}
else
last = e->userhdrs = mutt_new_list ();
- last->data = str_dup (line);
+ last->data = m_strdup(line);
if (do_2047)
rfc2047_decode (&last->data);
}
/* set the defaults from RFC1521 */
hdr->content->type = TYPETEXT;
- hdr->content->subtype = str_dup ("plain");
+ hdr->content->subtype = m_strdup("plain");
hdr->content->encoding = ENC7BIT;
hdr->content->length = -1;