Fix uip/whom.c for C89 compatibility
[mmh] / uip / mhparse.c
index 8e8b360..a478b42 100644 (file)
@@ -254,6 +254,9 @@ get_content(FILE *in, char *file, int toplevel)
                        state = FLD2;
                        /* FALL */
                case FLD2:
+                       if (compnum == 1) {
+                               ct->crlf = f.value[f.valuelen-2] == '\r';
+                       }
                        compnum++;
 
                        /* add the header data to the list */
@@ -1072,8 +1075,14 @@ InitMultiPart(CT ct)
        *++dp = '\0';
 
        /* record boundary separators */
-       m->mp_start = concat(bp, "\n", NULL);
-       m->mp_stop = concat(bp, "--\n", NULL);
+       if (!ct->crlf) {
+               m->mp_start = concat(bp, "\n", NULL);
+               m->mp_stop = concat(bp, "--\n", NULL);
+       } else {
+               m->mp_start = concat(bp, "\r\n", NULL);
+               m->mp_stop = concat(bp, "--\r\n", NULL);
+       }
+
 
        if (!ct->c_fp && (ct->c_fp = fopen(ct->c_file, "r")) == NULL) {
                advise(ct->c_file, "unable to open for reading");