]> diplodocus.org Git - nmh/blobdiff - uip/mhoutsbr.c
Alter HasSuffixC()'s char * to be const.
[nmh] / uip / mhoutsbr.c
index 0f3e9c1dfaa2badc66bc05b3f11f6a719baef2d3..89b4b932901234a1209c08340a2a4c75494614c9 100644 (file)
@@ -96,7 +96,7 @@ output_content (CT ct, FILE *out)
      * headers (since it has no body).
      */
     if (ct->c_ctexbody) {
-       if (boundary && *boundary != '\0')
+       if (*boundary != '\0')
            free(boundary);
        return OK;
     }
@@ -124,9 +124,9 @@ output_content (CT ct, FILE *out)
 
            fprintf (out, "\n--%s\n", boundary);
            if (output_content (p, out) == NOTOK) {
-               if (boundary && *boundary != '\0')
+               if (*boundary != '\0')
                    free(boundary);
-               return NOTOK;
+                return NOTOK;
            }
        }
        fprintf (out, "\n--%s--\n", boundary);
@@ -187,8 +187,14 @@ output_content (CT ct, FILE *out)
            break;
 
        case CE_BINARY:
-           advise (NULL, "can't handle binary transfer encoding in content");
-           result = NOTOK;
+           if (ct->c_type == CT_TEXT) {
+               /* So that mhfixmsg can decode to binary text. */
+               putc ('\n', out);
+               result = write8Bit (ct, out);
+           } else {
+               advise (NULL, "can't handle binary transfer encoding in content");
+               result = NOTOK;
+           }
            break;
 
        default:
@@ -199,7 +205,7 @@ output_content (CT ct, FILE *out)
        break;
     }
 
-    if (boundary && *boundary != '\0')
+    if (*boundary != '\0')
        free(boundary);
 
     return result;