git://git.exim.org
/
users
/
jgh
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Minor robustness fixes for debugging.
[users/jgh/exim.git]
/
src
/
OS
/
os.c-cygwin
diff --git
a/src/OS/os.c-cygwin
b/src/OS/os.c-cygwin
index a3b4c643f922d8e66cb7afb561c97c99b793ae0c..f7230ac8dd45f8a76ff66365a7c2bd5814b3bb58 100644
(file)
--- a/
src/OS/os.c-cygwin
+++ b/
src/OS/os.c-cygwin
@@
-1,4
+1,4
@@
-/* $Cambridge: exim/src/OS/os.c-cygwin,v 1.
3 2005/08/02 09:09:27 ph10 Exp $
+/* $Cambridge: exim/src/OS/os.c-cygwin,v 1.
5 2006/03/08 09:43:10 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
/*************************************************
* Exim - an Internet mail transport agent *
@@
-49,6
+49,8
@@
unsigned int cygwin_WinVersion;
#endif
#include <windows.h>
#endif
#include <windows.h>
+#define EqualLuid(Luid1, Luid2) \
+ ((Luid1.LowPart == Luid2.LowPart) && (Luid1.HighPart == Luid2.HighPart))
#include <sys/cygwin.h>
/* Special static variables */
#include <sys/cygwin.h>
/* Special static variables */
@@
-130,9
+132,9
@@
static DWORD get_privileges ()
&& GetTokenInformation(hToken, TokenPrivileges,
privs, length, &length)))) {
for (i = 0; i < privs->PrivilegeCount; i++) {
&& GetTokenInformation(hToken, TokenPrivileges,
privs, length, &length)))) {
for (i = 0; i < privs->PrivilegeCount; i++) {
- if (
privs->Privileges[i].Luid.QuadPart == cluid.QuadPart
)
+ if (
EqualLuid(privs->Privileges[i].Luid, cluid)
)
ret |= CREATE_BIT;
ret |= CREATE_BIT;
- else if (
privs->Privileges[i].Luid.QuadPart == rluid.QuadPart
)
+ else if (
EqualLuid(privs->Privileges[i].Luid, rluid)
)
ret |= RESTORE_BIT;
else continue;
if (ret == (CREATE_BIT | RESTORE_BIT))
ret |= RESTORE_BIT;
else continue;
if (ret == (CREATE_BIT | RESTORE_BIT))