--- p/rts/file.c.orig Wed Mar 26 13:26:04 2003 +++ p/rts/file.c Mon Mar 31 16:33:04 2003 @@ -1856,8 +1856,9 @@ destination buffer first */ if (Count > 0 && !fil_tst (f, FiLGet)) { - Buf[m++] = *(f->FilBuf); - Count--; + _p_Move (f->FilBuf, Buf, f->FilSiz); + m += f->FilSiz; + Count -= f->FilSiz; fil_set (f, FiLGet); } do