[MSVCRT] Fix get/set pos (fixes Supreme Snowboarding demo).

Dmitry Timoshkov dmitry at baikal.ru
Fri Dec 24 09:31:23 CST 2004


"Lionel Ulmer" <lionel.ulmer at free.fr> wrote:

> Basically, there was two issues: the first is that the 'fpos_t' is 64 bits
> in Windows (Mike M. checked on VC++ and I checked on MinGW and both
> confirmed this).

The situation with fpos_t is even worse. Both VC++ (Win32) and Platform SDK
(Win64 part) define it as follows (stdio.h):

#ifndef _FPOS_T_DEFINED
#undef _FPOSOFF

#if     defined (_POSIX_)
typedef long fpos_t;
#define _FPOSOFF(fp) ((long)(fp))
#else   /* _POSIX_ */

#if     !__STDC__ && _INTEGRAL_MAX_BITS >= 64
typedef __int64 fpos_t;
#define _FPOSOFF(fp) ((long)(fp))
#else
typedef struct fpos_t {
        unsigned int lopart;
        int          hipart;
        } fpos_t;
#define _FPOSOFF(fp) ((long)(fp).lopart)
#endif
#endif  /* _POSIX_ */

#define _FPOS_T_DEFINED
#endif

-- 
Dmitry.




More information about the wine-devel mailing list