Don't call hGetArray with a size of zero (fixes read021).
r <- hGetBufBA h arr size_i
#else
arr <- newArray_ (0,size_i-1)
r <- hGetBufBA h arr size_i
#else
arr <- newArray_ (0,size_i-1)
- r <- hGetArray h arr size_i
+ r <- if size_i == 0 then return 0 else hGetArray h arr size_i
#endif
if (r /= size_i)
then ioError (userError "short read of file")
#endif
if (r /= size_i)
then ioError (userError "short read of file")