On Windows, the overlapped structure high bits were always zero, so reading through a file > 4gb would loop forever.

db4
Doug Coleman 2011-10-07 15:04:00 -07:00
parent 677419dcbf
commit 044a03dc34
1 changed files with 4 additions and 1 deletions

View File

@ -68,7 +68,10 @@ C: <io-callback> io-callback
: make-overlapped ( port -- overlapped-ext )
[ (make-overlapped) ] dip
handle>> ptr>> [ >>offset ] when* ;
handle>> ptr>> [
[ 32 bits >>offset ]
[ -32 shift >>offset-high ] bi
] when* ;
M: windows FileArgs-overlapped ( port -- overlapped )
make-overlapped ;