X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=libcitadel%2Flib%2Fmime_parser.c;h=776e3fe4ac2f5af83f92ab676817b5ac533b3d54;hb=a054aa798b13cbc18e86b744357ec7a13932708c;hp=65093a2fac298fbce79f5accab7332c8aed79d55;hpb=c74f0c5ea9e707dbf02f00cd00a708c77cfa02a7;p=citadel.git diff --git a/libcitadel/lib/mime_parser.c b/libcitadel/lib/mime_parser.c index 65093a2fa..776e3fe4a 100644 --- a/libcitadel/lib/mime_parser.c +++ b/libcitadel/lib/mime_parser.c @@ -457,13 +457,14 @@ static int IsAsciiEncoding(interesting_mime_headers *m) { } -static char *FindNextContent(char *ptr, - char *content_end, - interesting_mime_headers *SubMimeHeaders, - interesting_mime_headers *m) -{ +static char *FindNextContent( + char *ptr, + char *content_end, + interesting_mime_headers *SubMimeHeaders, + interesting_mime_headers *m +) { char *next_boundary; - char tmp; + char tmp; if (IsAsciiEncoding(SubMimeHeaders)) { tmp = *content_end; @@ -482,8 +483,9 @@ static char *FindNextContent(char *ptr, lines = SubMimeHeaders->content_length / 80; pptr = ptr + SubMimeHeaders->content_length - lines - 10; - if (pptr < content_end) + if (pptr < content_end) { ptr = pptr; + } } next_boundary = strstr(ptr, m->b[startary].Key); @@ -512,8 +514,9 @@ static char *FindNextContent(char *ptr, next_boundary = srch; srch = content_end; } - else srch ++; - + else { + srch++; + } } } @@ -535,15 +538,15 @@ static void recurseable_mime_parser(char *partnum, interesting_mime_headers *m ) { interesting_mime_headers *SubMimeHeaders; - char *ptr; - char *part_start; - char *part_end = NULL; - char *evaluate_crlf_ptr = NULL; - char *next_boundary; - char nested_partnum[256]; - int crlf_in_use = 0; - int part_seq = 0; - CBufStr *chosen_name; + char *ptr; + char *part_start; + char *part_end = NULL; + char *evaluate_crlf_ptr = NULL; + char *next_boundary; + char nested_partnum[256]; + int crlf_in_use = 0; + int part_seq = 0; + CBufStr *chosen_name; // If this is a multipart message, then recursively process it ptr = content_start; @@ -568,7 +571,7 @@ static void recurseable_mime_parser(char *partnum, // Figure out where the boundaries are m->b[startary].len = snprintf(m->b[startary].Key, SIZ, "--%s", m->b[boundary].Key); - SubMimeHeaders = InitInterestingMimes (); + SubMimeHeaders = InitInterestingMimes(); while ((*ptr == '\r') || (*ptr == '\n')) { ptr++; @@ -610,14 +613,14 @@ static void recurseable_mime_parser(char *partnum, if (!IsEmptyStr(partnum)) { snprintf(nested_partnum, - sizeof nested_partnum, - "%s.%d", partnum, - ++part_seq); + sizeof nested_partnum, + "%s.%d", partnum, + ++part_seq); } else { snprintf(nested_partnum, - sizeof nested_partnum, - "%d", ++part_seq); + sizeof nested_partnum, + "%d", ++part_seq); } recurseable_mime_parser(nested_partnum, part_start, @@ -679,6 +682,7 @@ static void recurseable_mime_parser(char *partnum, ); } } + // If it's not a multipart message, then do something with it else { size_t length; @@ -803,9 +807,7 @@ void the_mime_parser(char *partnum, } m = InitInterestingMimes(); - if (!parse_MimeHeaders(m, &content_start, content_end)) { - recurseable_mime_parser(partnum, content_start, content_end, CallBack,