#include <signal.h>
#include <fcntl.h>
#include <h/mime.h>
+#include <h/tws.h>
#include <h/utils.h>
#ifdef TIME_WITH_SYS_TIME
if ((p = strrchr(file_name, '.')) != (char *)0) {
for (np = m_defs; np; np = np->n_next) {
- if (strncasecmp(np->n_name, "mhshow-suffix-", 14) == 0 && strcasecmp(p, np->n_field) == 0) {
+ if (strncasecmp(np->n_name, "mhshow-suffix-", 14) == 0 && mh_strcasecmp(p, np->n_field) == 0) {
content_type = np->n_name + 14;
break;
}
break;
case 1:
- /* Suppress Content-Id, insert simple Content-Disposition. */
- (void) fprintf (composition_file, "#%s <>{attachment}", content_type);
+ if (stringdex (m_maildir(invo_name), file_name) == 0) {
+ /* Content had been placed by send into a temp file.
+ Don't generate Content-Disposition header, because
+ it confuses Microsoft Outlook, Build 10.0.6626, at
+ least. */
+ (void) fprintf (composition_file, "#%s <>", content_type);
+ } else {
+ /* Suppress Content-Id, insert simple Content-Disposition. */
+ (void) fprintf (composition_file,
+ "#%s <>{attachment}",
+ content_type);
+ }
break;
case 2:
- /* Suppress Content-Id, insert Content-Disposition with
- modification date. */
- (void) fprintf (composition_file,
- "#%s <>{attachment; modification-date=\"%s\"}",
- content_type,
- dtime (&st.st_mtim, 0));
+ if (stringdex (m_maildir(invo_name), file_name) == 0) {
+ /* Content had been placed by send into a temp file.
+ Don't generate Content-Disposition header, because
+ it confuses Microsoft Outlook, Build 10.0.6626, at
+ least. */
+ (void) fprintf (composition_file, "#%s <>", content_type);
+ } else {
+ /* Suppress Content-Id, insert Content-Disposition with
+ modification date. */
+ (void) fprintf (composition_file,
+ "#%s <>{attachment; modification-date=\"%s\"}",
+ content_type,
+ dtime (&st.st_mtime, 0));
+ }
break;
default:
/*
* This header field is discarded.
*/
- if (!strcasecmp (name, "Message-ID")) {
+ if (!mh_strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS)
state = m_getfld (state, name, buffer, sizeof(buffer), in);
} else if (uprf (name, XXX_FIELD_PRF)
- || !strcasecmp (name, VRSN_FIELD)
- || !strcasecmp (name, "Subject")
- || !strcasecmp (name, "Encrypted")) {
+ || !mh_strcasecmp (name, VRSN_FIELD)
+ || !mh_strcasecmp (name, "Subject")
+ || !mh_strcasecmp (name, "Encrypted")) {
/*
* These header fields are copied to the enclosed
* header of the first message in the collection
* version of it, can be copied to the header
* of each messsage/partial in the collection.
*/
- if (!strcasecmp (name, "Subject")) {
+ if (!mh_strcasecmp (name, "Subject")) {
size_t sublen;
strncpy (subject, buffer, BUFSIZ);