extern int rfc934sw;
extern int contentidsw;
-extern int endian; /* mhmisc.c */
-
/* cache policies */
extern int rcachesw; /* mhcachesbr.c */
extern int wcachesw; /* mhcachesbr.c */
* the new MIME message.
*/
for (compnum = 1, state = FLD;;) {
- switch (state = m_getfld (state, name, buf, sizeof(buf), in)) {
+ int bufsz = sizeof buf;
+ switch (state = m_getfld (state, name, buf, &bufsz, in)) {
case FLD:
case FLDPLUS:
case FLDEOF:
/* ignore any Content-Type fields in the header */
if (!mh_strcasecmp (name, TYPE_FIELD)) {
- while (state == FLDPLUS)
- state = m_getfld (state, name, buf, sizeof(buf), in);
+ while (state == FLDPLUS) {
+ bufsz = sizeof buf;
+ state = m_getfld (state, name, buf, &bufsz, in);
+ }
goto finish_field;
}
/* if necessary, get rest of field */
while (state == FLDPLUS) {
- state = m_getfld (state, name, buf, sizeof(buf), in);
+ bufsz = sizeof buf;
+ state = m_getfld (state, name, buf, &bufsz, in);
vp = add (buf, vp); /* add to previous value */
}
static void
set_id (CT ct, int top)
{
- char msgid[BUFSIZ];
+ char contentid[BUFSIZ];
static int partno;
static time_t clock = 0;
static char *msgfmt;
if (clock == 0) {
time (&clock);
- snprintf (msgid, sizeof(msgid), "<%d.%ld.%%d@%s>\n",
- (int) getpid(), (long) clock, LocalName(1));
+ snprintf (contentid, sizeof(contentid), "%s\n", message_id (clock, 1));
partno = 0;
- msgfmt = getcpy(msgid);
+ msgfmt = getcpy(contentid);
}
- snprintf (msgid, sizeof(msgid), msgfmt, top ? 0 : ++partno);
- ct->c_id = getcpy (msgid);
+ snprintf (contentid, sizeof(contentid), msgfmt, top ? 0 : ++partno);
+ ct->c_id = getcpy (contentid);
}
continue;
if (contains8bit) {
- t->tx_charset = CHARSET_UNKNOWN;
*ap = concat ("charset=", write_charset_8bit(), NULL);
} else {
- t->tx_charset = CHARSET_USASCII;
*ap = add ("charset=us-ascii", NULL);
}
+ t->tx_charset = CHARSET_SPECIFIED;
cp = strchr(*ap++, '=');
*ap = NULL;
switch (ct->c_encoding) {
case CE_7BIT:
/* Nothing to output */
-#if 0
- np = add (ENCODING_FIELD, NULL);
- vp = concat (" ", "7bit", "\n", NULL);
- add_header (ct, np, vp);
-#endif
break;
case CE_8BIT: