Thank you for your report.  I
just got back from a vacation in Japan, but the bug was pretty obvious once I knew what I was looking for. The following patch fixes it.

*** mbx.c       Fri Jan  5 21:26:51 2007
--- mbx.c~      Tue Sep 26 17:58:02 2006
***************
*** 1150,1157 ****
                   uf,(unsigned long) f,++dstream->uid_last) < 0) ret = NIL;
        else {                  /* write message */
        if (!message->cursize) SETPOS (message,GETPOS (message));
!       while (i && (fwrite (message->curpos,message->cursize,1,df) ==
!                    message->cursize)) {
          i -= message->cursize;
          SETPOS (message,GETPOS (message) + message->cursize);
        }
--- 1150,1156 ----
                   uf,(unsigned long) f,++dstream->uid_last) < 0) ret = NIL;
        else {                  /* write message */
        if (!message->cursize) SETPOS (message,GETPOS (message));
!       while (i && (fwrite (message->curpos,message->cursize,1,df) != EOF)) {
          i -= message->cursize;
          SETPOS (message,GETPOS (message) + message->cursize);
        }

-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
_______________________________________________
Imap-uw mailing list
[email protected]
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw

Reply via email to