#endif
#include <lib-lib/mem.h>
+#include <lib-lib/ascii.h>
+#include <lib-lib/mapping.h>
+
+#include <lib-mime/mime.h>
#include "mutt.h"
-#include "ascii.h"
-#include "mapping.h"
#include "url.h"
-#include "mime.h"
#include <ctype.h>
return;
for (d = s; *s; s++) {
- if (*s == '%' && s[1] && s[2] &&
- isxdigit ((unsigned char) s[1]) &&
- isxdigit ((unsigned char) s[2]) &&
- hexval (s[1]) >= 0 && hexval (s[2]) >= 0) {
+ if (*s == '%' && hexval (s[1]) >= 0 && hexval (s[2]) >= 0) {
*d++ = (hexval (s[1]) << 4) | (hexval (s[2]));
s += 2;
}
if ((t - s) + 1 >= sizeof (sbuf))
return U_UNKNOWN;
- strfcpy (sbuf, s, t - s + 1);
+ m_strcpy(sbuf, t - s + 1, s);
for (t = sbuf; *t; t++)
*t = ascii_tolower (*t);
else if (!ascii_strncasecmp (src, "file://", 7)) /* we don't support remote files */
return -1;
else
- strfcpy (d, src + 5, dl);
+ m_strcpy(d, dl, src + 5);
url_pct_decode (d);
return 0;
snprintf (dest, len, "%s:", mutt_getnamebyvalue (ciss->scheme, UrlMap));
if (ciss->host) {
- str_cat (dest, len, "//");
+ m_strcat(dest, len, "//");
len -= (l = m_strlen(dest));
dest += l;
}
if (ciss->path)
- str_cat (dest, len, ciss->path);
+ m_strcat(dest, len, ciss->path);
return 0;
}
if (!ascii_strcasecmp (tag, "body")) {
if (body)
- str_replace (body, value);
+ m_strreplace(body, value);
}
else {
#define SAFEPFX (option (OPTSTRICTMAILTO) ? "" : "X-Mailto-")
snprintf (scratch, sizeof (scratch), "%s%s: %s", SAFEPFX, tag, value);
#undef SAVEPFX
scratch[taglen] = '\0';
- value = &scratch[taglen + 1];
- SKIPWS (value);
+ value = vskipspaces(&scratch[taglen + 1]);
mutt_parse_rfc822_line (e, NULL, scratch, value, 1, 0, 0, &last);
/* if $strict_mailto is set, force editing headers to let
* users have a look at what we got */