File emil-2.1.0-beta9.patch1 of Package emil
# This patch fixes a buggy handling of nested multiparts.
#
*** ./mimeparse.c.orig Tue Aug 19 16:35:53 1997
--- ./mimeparse.c Tue Aug 19 16:39:34 1997
***************
*** 218,227 ****
m->level,
inbuf->bodystart,
inbuf->bodyend);
#endif
! m->sd->offset = m->sd->bodyend;
if (getline(m->sd) == 0)
return(OK);
if (m->sd->offset < m->sd->end)
{
--- 218,258 ----
m->level,
inbuf->bodystart,
inbuf->bodyend);
#endif
+ /* FIX */
+ if (m->sd->encoding == EMULTI && m->sd->endbound != NULL)
+ {
+ int tttt;
+ move_past_boundary(m, m->sd->endbound);
+ for (;;)
+ {
+ tttt = getline(m->sd);
+ #ifdef DEBUG
+ if (edebug)
+ fprintf(stderr," getline = %d\n", tttt);
+ #endif
+ if (tttt == 1)
+ {
+ inbuf->offset += tttt;
+ inbuf->loffset += 1;
+ continue;
+ }
+ if (tttt == 2 && *(m->sd->contents + m->sd->offset) == '\r')
+ {
+ inbuf->offset += tttt;
+ inbuf->loffset += 1;
+ continue;
+ }
+ break;
+ }
+
+ }
+ else
+ /* END_FIX */
+ m->sd->offset = m->sd->bodyend;
!
if (getline(m->sd) == 0)
return(OK);
if (m->sd->offset < m->sd->end)
{