Author: cfinck
Date: Sun Aug 19 18:04:20 2007
New Revision: 28422
URL:
http://svn.reactos.org/svn/reactos?rev=28422&view=rev
Log:
Change the wchar_t logic once more to make it a bit simplier.
A host can only have one special wchar_t definition, so we don't need to define all.
Also _WCHAR_T_DEFINED is the only definition used for overriding the wchar_t setting by
applications.
So use the previous logic to check and define the wchar_t definitions for the host and at
the end check for _WCHAR_T_DEFINED. In all cases, define _WCHAR_T_DEFINED.
Additionally, __need_wchar_t has to be undefined after including "ctype.h" as
"ctype.h" defines it.
Modified:
trunk/reactos/include/psdk/winnt.h
Modified: trunk/reactos/include/psdk/winnt.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winnt.h?rev=2…
==============================================================================
--- trunk/reactos/include/psdk/winnt.h (original)
+++ trunk/reactos/include/psdk/winnt.h Sun Aug 19 18:04:20 2007
@@ -52,11 +52,13 @@
/* wchar_t checks
* First check if wchar_t has already been defined by any host/OS */
-#ifndef _WCHAR_T_DEFINED
#ifndef _WCHAR_T_DECLARED /* for FreeBSD 5 and later */
+#define _WCHAR_T_DECLARED
#ifndef _WCHAR_T /* for Mac OS X */
+#define _WCHAR_T
#ifndef _WCHAR_T_
-#undef __need_wchar_t
+#define _WCHAR_T_
+#ifndef _WCHAR_T_DEFINED /* If you want to override the wchar_t setting, define
this */
#ifndef __cplusplus
typedef unsigned short wchar_t;
#endif
@@ -65,25 +67,14 @@
#endif
#endif
-/* Now report that it has been defined to all known hosts/operating systems */
+/* Set _WCHAR_T_DEFINED for the case that this is checked later */
#ifndef _WCHAR_T_DEFINED
#define _WCHAR_T_DEFINED
#endif
-#ifndef _WCHAR_T_DECLARED
-#define _WCHAR_T_DECLARED
-#endif
-
-#ifndef _WCHAR_T
-#define _WCHAR_T
-#endif
-
-#ifndef _WCHAR_T_
-#define _WCHAR_T_
-#endif
-
-
#include <ctype.h>
+#undef __need_wchar_t
+
#include <winerror.h>
#include <stddef.h>
#include <sdkddkver.h>