module NHC.Binary ( isEOFBin ) where import NHC.GreenCard import BinHandle ({-type-}BinHandle(..)) %-#include "cLowBinary.h" %fun isEOFBin :: BinHandle -> IO Bool %call (binHandle bh) %code % if (bh->file) % b = bh->cptr >= 8*(CACHESIZE-bh->attrib.eof); % else % b = bh->adjust.here + (bh->cptr/8) >= bh->attrib.size; %result (bool b) -- This could return the wrong result. Check whether the underlying -- C routines reset the eof flag correctly following a forceCacheTo -- (or other) movement. Checked OK 980325.