# 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)
      {

