X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhparse.c;h=a478b4271f98ff3c4a31aa40ba3d9220fc772e18;hp=8e8b3605cb1134d8fbbbd939c81fc9f01fb693e6;hb=6e9577f324bef90765a5edc02044eb111ec48072;hpb=79cbafe7268202d5b9c231b2d25472c152caa709 diff --git a/uip/mhparse.c b/uip/mhparse.c index 8e8b360..a478b42 100644 --- a/uip/mhparse.c +++ b/uip/mhparse.c @@ -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");