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