Bruce Momjian wrote:

Andrew Dunstan wrote:
There is no fseeko in the Windows libraries, nor any provision in the mingw headers that I can see for a 64 bit off_t. So we would need to roll our own to some extent - I think we need more than just a bit of configure cleverness.

However, there is a Windows library routine to do a 64bit seek and return the file position, so we could fairly easily implement fseeko and ftello based on that. See
http://msdn.microsoft.com/library/en-us/vclib/html/_crt__lseek.2c_._lseeki64.asp

See src/port/fseeko.c for a version built on fsetpos().


Yeah, I'm not made warm and fuzzy by the comments about fpos_t in mingw's stdio.h, though:

/*
* An opaque data type used for storing file positions... The contents of
* this type are unknown, but we (the compiler) need to know the size
* because the programmer using fgetpos and fsetpos will be setting aside
* storage for fpos_t structres. Actually I tested using a byte array and
* it is fairly evident that the fpos_t type is a long (in CRTDLL.DLL).
* Perhaps an unsigned long? TODO? It's definitely a 64-bit number in
* MSVCRT however, and for now `long long' will do.
*/


But the example program on MSDN contains "pos = 14", which leads one to assume that it really is some simple int underneath.

cheers

andrew

cheers

andrew

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to