Jon Griffiths : include: Avoid TEXT() in sddl component tags, hide them when building Wine.
Alexandre Julliard
julliard at winehq.org
Wed Jul 9 06:10:34 CDT 2008
Module: wine
Branch: master
Commit: e19a904139c76b3cc2a21a75c9c3ccefc9b368ff
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e19a904139c76b3cc2a21a75c9c3ccefc9b368ff
Author: Jon Griffiths <jon_p_griffiths at yahoo.com>
Date: Thu Jul 3 23:29:15 2008 -0700
include: Avoid TEXT() in sddl component tags, hide them when building Wine.
---
include/sddl.h | 93 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 65 insertions(+), 28 deletions(-)
diff --git a/include/sddl.h b/include/sddl.h
index 5c586a3..866b699 100644
--- a/include/sddl.h
+++ b/include/sddl.h
@@ -15,46 +15,83 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-
#ifndef __SDDL_H__
#define __SDDL_H__
-
#ifdef __cplusplus
extern "C" {
#endif
-/*
- * SDDL Version information
- */
-#define SDDL_REVISION_1 1
-#define SDDL_REVISION SDDL_REVISION_1
+/* Versioning */
+#define SDDL_REVISION_1 1
+#define SDDL_REVISION SDDL_REVISION_1
-/*
- * SDDL Component tags
- */
-#define SDDL_OWNER TEXT("O")
-#define SDDL_GROUP TEXT("G")
-#define SDDL_DACL TEXT("D")
-#define SDDL_SACL TEXT("S")
+#ifndef __WINESRC__
+/* Component tags */
+#ifndef UNICODE
+# define SDDL_OWNER "O"
+# define SDDL_GROUP "G"
+# define SDDL_DACL "D"
+# define SDDL_SACL "S"
+#else
+# if defined(__GNUC__)
+# define SDDL_OWNER (const WCHAR[]){ 'O',0 }
+# define SDDL_GROUP (const WCHAR[]){ 'G',0 }
+# define SDDL_DACL (const WCHAR[]){ 'D',0 }
+# define SDDL_SACL (const WCHAR[]){ 'S',0 }
+# elif defined(_MSC_VER)
+# define SDDL_OWNER L"O"
+# define SDDL_GROUP L"G"
+# define SDDL_DACL L"D"
+# define SDDL_SACL L"S"
+# else
+ static const WCHAR SDDL_OWNER[] = { 'O',0 };
+ static const WCHAR SDDL_GROUP[] = { 'G',0 };
+ static const WCHAR SDDL_DACL[] = { 'D',0 };
+ static const WCHAR SDDL_SACL[] = { 'S',0 };
+# endif
+#endif /* UNICODE */
-/*
- * SDDL Separators - character version
- */
+/* Separators as characters */
/* SDDL_SEPERATORC is not a typo, as per Microsoft's headers */
-#define SDDL_SEPERATORC TEXT(";")
-#define SDDL_DELIMINATORC TEXT(":")
-#define SDDL_ACE_BEGINC TEXT("(")
-#define SDDL_ACE_ENDC TEXT(")")
+#ifndef UNICODE
+# define SDDL_SEPERATORC ';'
+# define SDDL_DELIMINATORC ':'
+# define SDDL_ACE_BEGINC '('
+# define SDDL_ACE_ENDC ')'
+#else
+# define SDDL_SEPERATORC ((WCHAR)';')
+# define SDDL_DELIMINATORC ((WCHAR)':')
+# define SDDL_ACE_BEGINC ((WCHAR)'(')
+# define SDDL_ACE_ENDC ((WCHAR)')')
+#endif /* UNICODE */
-/*
- * SDDL Separators - string version
- */
+/* Separators as strings */
/* SDDL_SEPERATOR is not a typo, as per Microsoft's headers */
-#define SDDL_SEPERATOR TEXT(";")
-#define SDDL_DELIMINATOR TEXT(":")
-#define SDDL_ACE_BEGIN TEXT("(")
-#define SDDL_ACE_END TEXT(")")
+#ifndef UNICODE
+# define SDDL_SEPERATOR ";"
+# define SDDL_DELIMINATOR ":"
+# define SDDL_ACE_BEGIN "("
+# define SDDL_ACE_END ")"
+#else
+# if defined(__GNUC__)
+# define SDDL_SEPERATOR (const WCHAR[]){ ';',0 }
+# define SDDL_DELIMINATOR (const WCHAR[]){ ':',0 }
+# define SDDL_ACE_BEGIN (const WCHAR[]){ '(',0 }
+# define SDDL_ACE_END (const WCHAR[]){ ')',0 }
+# elif defined(_MSC_VER)
+# define SDDL_SEPERATOR L";"
+# define SDDL_DELIMINATOR L":"
+# define SDDL_ACE_BEGIN L"("
+# define SDDL_ACE_END L")"
+# else
+ static const WCHAR SDDL_SEPERATOR[] = { ';',0 };
+ static const WCHAR SDDL_DELIMINATOR[] = { ':',0 };
+ static const WCHAR SDDL_ACE_BEGIN[] = { '(',0 };
+ static const WCHAR SDDL_ACE_END[] = { ')',0 };
+# endif
+#endif /* UNICODE */
+#endif /* __WINESRC__ */
BOOL WINAPI ConvertSidToStringSidA( PSID, LPSTR* );
BOOL WINAPI ConvertSidToStringSidW( PSID, LPWSTR* );
More information about the wine-cvs
mailing list