Module: wine Branch: master Commit: e19a904139c76b3cc2a21a75c9c3ccefc9b368ff URL: http://source.winehq.org/git/wine.git/?a=commit;h=e19a904139c76b3cc2a21a75c9...
Author: Jon Griffiths jon_p_griffiths@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* );