const char MimeSpecials[] = "@.,;:<>[]\\\"()?/= \t";
-char B64Chars[64] = {
- 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
- 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
- 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
- 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
- '8', '9', '+', '/'
-};
-
static char MsgIdPfx = 'A';
static void transform_to_7bit (BODY * a, FILE * fpin);
/* Escape lines that begin with/only contain "the message separator". */
if (linelen == 4 && !m_strncmp("From", line, 4)) {
- strfcpy (line, "=46rom", sizeof (line));
+ m_strcpy(line, sizeof(line), "=46rom");
linelen = 6;
}
else if (linelen == 4 && !m_strncmp("from", line, 4)) {
- strfcpy (line, "=66rom", sizeof (line));
+ m_strcpy(line, sizeof(line), "=66rom");
linelen = 6;
}
else if (linelen == 1 && line[0] == '.') {
- strfcpy (line, "=2E", sizeof (line));
+ m_strcpy(line, sizeof(line), "=2E");
linelen = 3;
}
for (i = b64_num; i < 3; i++)
b64_buffer[i] = '\0';
- fputc (B64Chars[(b64_buffer[0] >> 2) & 0x3f], fout);
+ fputc(__m_b64chars[(b64_buffer[0] >> 2) & 0x3f], fout);
b64_linelen++;
- fputc (B64Chars
+ fputc(__m_b64chars
[((b64_buffer[0] & 0x3) << 4) | ((b64_buffer[1] >> 4) & 0xf)], fout);
b64_linelen++;
if (b64_num > 1) {
- fputc (B64Chars
+ fputc (__m_b64chars
[((b64_buffer[1] & 0xf) << 2) | ((b64_buffer[2] >> 6) & 0x3)],
fout);
b64_linelen++;
if (b64_num > 2) {
- fputc (B64Chars[b64_buffer[2] & 0x3f], fout);
+ fputc (__m_b64chars[b64_buffer[2] & 0x3f], fout);
b64_linelen++;
}
}
return (-1);
}
- strfcpy (boundary, p, sizeof (boundary));
+ m_strcpy(boundary, sizeof(boundary), p);
for (t = a->parts; t; t = t->next) {
fprintf (f, "\n--%s\n", boundary);
rs[BOUNDARYLEN] = 0;
for (i = 0; i < BOUNDARYLEN; i++)
- *p++ = B64Chars[LRAND () % sizeof (B64Chars)];
+ *p++ = __m_b64chars[LRAND() % sizeof(__m_b64chars)];
*p = 0;
mutt_set_parameter ("boundary", rs, parm);
snprintf (buf, sizeof (buf), "%s/.mime.types", NONULL (Homedir));
break;
case 1:
- strfcpy (buf, SYSCONFDIR "/muttng-mime.types", sizeof (buf));
+ m_strcpy(buf, sizeof(buf), SYSCONFDIR "/muttng-mime.types");
break;
case 2:
- strfcpy (buf, PKGDATADIR "/mime.types", sizeof (buf));
+ m_strcpy(buf, sizeof(buf), PKGDATADIR "/mime.types");
break;
case 3:
- strfcpy (buf, SYSCONFDIR "/mime.types", sizeof (buf));
+ m_strcpy(buf, sizeof(buf), SYSCONFDIR "/mime.types");
break;
default:
debug_print (1, ("Internal error, count = %d.\n", count));
*p = 0;
/* remove any leading space. */
- ct = buf;
- SKIPWS (ct);
+ ct = vskipspaces(buf);
/* position on the next field in this line */
if ((p = strpbrk (ct, " \t")) == NULL)
continue;
*p++ = 0;
- SKIPWS (p);
+ p = vskipspaces(p);
/* cycle through the file extensions */
while ((p = strtok (p, " \t\n"))) {
sze = m_strlen(p);
if ((sze > cur_sze) && (szf >= sze) &&
(m_strcasecmp(path + szf - sze, p) == 0
- || ascii_strcasecmp (path + szf - sze, p) == 0) && (szf == sze
- || path[szf
- -
- sze
- -
- 1]
- == '.')) {
+ || ascii_strcasecmp (path + szf - sze, p) == 0)
+ && (szf == sze || path[szf - sze - 1] == '.'))
+ {
/* get the content-type */
if ((p = strchr (ct, '/')) == NULL) {
str_substrcpy (subtype, p, q, sizeof (subtype));
if ((type = mutt_check_mime_type (ct)) == TYPEOTHER)
- strfcpy (xtype, ct, sizeof (xtype));
+ m_strcpy(xtype, sizeof(xtype), ct);
cur_sze = sze;
}
if (p)
mutt_canonical_charset (d, dlen, NONULL (p));
else
- strfcpy (d, "us-ascii", dlen);
+ m_strcpy(d, dlen, "us-ascii");
return d;
}
/* Add any user defined headers */
for (; tmp; tmp = tmp->next) {
if ((p = strchr (tmp->data, ':'))) {
- p++;
- SKIPWS (p);
+ p = vskipspaces(p + 1);
if (!*p)
continue; /* don't emit empty fields. */
continue;
i = p - h->data;
- ++p;
- SKIPWS (p);
+ p = vskipspaces(p + 1);
tmp = m_strdup(p);
if (!tmp)