Why does the UCRT definition of struct __crt_stdio_stream_data is different
from CRT in MinGW-w64?
referenced from win10sdk ucrt
C:\Program Files (x86)\Windows Kits\10\Source\10.0.19041.0\ucrt
This is UCRT one
struct ucrt_stdio_stream_data
{
union
{
FILE public_file;
char* ptr;
};
char* base;
int cnt;
long flags;
long file;
int charbuf;
int bufsiz;
char* tmpfname;
};
MinGW-w64 one
struct _iobuf {
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
the base ptr and cnt swaps location?
Is this a bug in MinGW-w64? Shouldn’t it be
struct _iobuf {
char *_ptr;
#if defined(_UCRT)
char *_base;
int _cnt;
#else
int _cnt;
char *_base;
#endif
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
?
Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public