small portability problem: fgetpos/fsetpos in iomonad.c

Geraint Jones Geraint.Jones@wolfson.oxford.ac.uk
Sun, 15 Oct 2000 20:50:19 +0100


There seems to be an unwarranted assumption in iomonad.c that a value 
of type fpos_t is a scalar which can be cast (in C) into an integer.

I have just had to install hugs98-Feb2000.tar.gz on a system (it is 
a redhat 7.0, for what that's worth) where the fpos_t is a structure
containing the offset and some extra state. The extra state is possibly
something to do with multibyte characters. 

The affected lines are (of course) in primHGetPosn and primHSetPosn,
and one quick fix is to undefine HAVE_FGETPOS in config.h (at least 
on systems that have ftell and fseek).