I see no point in not always defining wchar_t. If an app uses the msvcrt headers, this needs to be defined, and there is nothing else defining it. What would be the point in messing around with conditional defines? Well, in C++ it is a native type, but other than that... ChangeLog Always define wchar_t in msvcrt headers if not compiling C++. Index: include/msvcrt/stddef.h =================================================================== RCS file: /var/cvs/wine/include/msvcrt/stddef.h,v retrieving revision 1.5 diff -u -r1.5 stddef.h --- include/msvcrt/stddef.h 30 Nov 2002 19:14:23 -0000 1.5 +++ include/msvcrt/stddef.h 18 Dec 2002 14:02:54 -0000 @@ -31,11 +31,9 @@ #define MSVCRT_SIZE_T_DEFINED #endif -/* Best to leave this one alone: wchar_t */ -#ifdef WINE_DEFINE_WCHAR_T -typedef unsigned short wchar_t; +#ifndef __cplusplus +typedef unsigned short MSVCRT(wchar_t); #endif - #define offsetof(s,m) (size_t)&(((s*)NULL)->m) -- Dimi.