Commit 419da3f7 419da3f73c03e538f55c970f58c28391f568994e by Alain Magloire

Bug fixes, when tried on QNX/Neutrino.

1 parent 592ac128
......@@ -134,10 +134,12 @@ _file_write (stream_t stream, const char *iptr, size_t isize,
}
n = fwrite (iptr, sizeof(char), isize, fs->file);
if (n == 0)
if (n != isize)
{
if (ferror (fs->file))
err = errno;
if (feof (fs->file) == 0)
err = EIO;
clearerr(fs->file);
n = 0;
}
else
fs->offset += n;
......
......@@ -489,6 +489,7 @@ mbox_scan0 (mailbox_t mailbox, size_t msgno, size_t *pcount, int do_notif)
mum->header_from = total - n;
mum->header_from_end = total;
mum->body_end = mum->body = 0;
mum->attr_flags = 0;
lines = 0;
sfield = NULL;
for (j = 0; j < HDRSIZE; j++)
......@@ -645,7 +646,7 @@ mbox_scan0 (mailbox_t mailbox, size_t msgno, size_t *pcount, int do_notif)
}
mum->uid = ouid = uid;
}
if (uid > mud->messages_count)
if (uid >= mud->uidnext)
{
char u[64];
mud->uidnext = uid + 1;
......
......@@ -369,7 +369,7 @@ stream_write (stream_t os, const char *buf, size_t count,
while (nleft > 0)
{
err = os->_write (os, buf, nleft, offset, &nwriten);
if (err != 0)
if (err != 0 || nwriten == 0)
break;
nleft -= nwriten;
total += nwriten;
......