- Fix WINEVENTPROC -- it is stdcall, not cdecl!

- Correct the way FONTENUMPROC is defined, and type-cast accordingly in gdi32
- PSECURITY_DESCRIPTOR is an opaque pointer -- use PISECURITY_DESCRIPTOR instead where necessary
- raddr2line: Fix a warning under Linux host

svn path=/trunk/; revision=38898
This commit is contained in:
Stefan Ginsberg 2009-01-18 15:59:21 +00:00
parent 60882e8641
commit 6e2699957c
11 changed files with 88 additions and 52 deletions

View file

@ -851,11 +851,11 @@ DWORD RSetServiceObjectSecurity(
DesiredAccess |= WRITE_OWNER; DesiredAccess |= WRITE_OWNER;
if ((dwSecurityInformation & OWNER_SECURITY_INFORMATION) && if ((dwSecurityInformation & OWNER_SECURITY_INFORMATION) &&
(((PSECURITY_DESCRIPTOR)lpSecurityDescriptor)->Owner == NULL)) (((PISECURITY_DESCRIPTOR)lpSecurityDescriptor)->Owner == NULL))
return ERROR_INVALID_PARAMETER; return ERROR_INVALID_PARAMETER;
if ((dwSecurityInformation & GROUP_SECURITY_INFORMATION) && if ((dwSecurityInformation & GROUP_SECURITY_INFORMATION) &&
(((PSECURITY_DESCRIPTOR)lpSecurityDescriptor)->Group == NULL)) (((PISECURITY_DESCRIPTOR)lpSecurityDescriptor)->Group == NULL))
return ERROR_INVALID_PARAMETER; return ERROR_INVALID_PARAMETER;
if (!RtlAreAllAccessesGranted(hSvc->Handle.DesiredAccess, if (!RtlAreAllAccessesGranted(hSvc->Handle.DesiredAccess,

View file

@ -339,7 +339,7 @@ CheckTokenMembership(IN HANDLE ExistingTokenHandle,
IN PSID SidToCheck, IN PSID SidToCheck,
OUT PBOOL IsMember) OUT PBOOL IsMember)
{ {
PSECURITY_DESCRIPTOR SecurityDescriptor = NULL; PISECURITY_DESCRIPTOR SecurityDescriptor = NULL;
ACCESS_MASK GrantedAccess; ACCESS_MASK GrantedAccess;
struct struct
{ {

View file

@ -325,8 +325,8 @@ IntEnumFontFamilies(HDC Dc, LPLOGFONTW LogFont, PVOID EnumProc, LPARAM lParam,
if (Unicode) if (Unicode)
{ {
Ret = ((FONTENUMPROCW) EnumProc)( Ret = ((FONTENUMPROCW) EnumProc)(
&Info[i].EnumLogFontEx, (VOID*)&Info[i].EnumLogFontEx,
&Info[i].NewTextMetricEx, (VOID*)&Info[i].NewTextMetricEx,
Info[i].FontType, lParam); Info[i].FontType, lParam);
} }
else else
@ -341,8 +341,8 @@ IntEnumFontFamilies(HDC Dc, LPLOGFONTW LogFont, PVOID EnumProc, LPARAM lParam,
NewTextMetricExW2A(&NewTextMetricExA, NewTextMetricExW2A(&NewTextMetricExA,
&Info[i].NewTextMetricEx); &Info[i].NewTextMetricEx);
Ret = ((FONTENUMPROCA) EnumProc)( Ret = ((FONTENUMPROCA) EnumProc)(
&EnumLogFontExA, (VOID*)&EnumLogFontExA,
&NewTextMetricExA, (VOID*)&NewTextMetricExA,
Info[i].FontType, lParam); Info[i].FontType, lParam);
} }
} }
@ -1903,8 +1903,8 @@ NewEnumFontFamiliesExW(
{ {
PNTMW_INTERNAL pNtmwi = (PNTMW_INTERNAL)((ULONG_PTR)pEfdw + pEfdw->ulNtmwiOffset); PNTMW_INTERNAL pNtmwi = (PNTMW_INTERNAL)((ULONG_PTR)pEfdw + pEfdw->ulNtmwiOffset);
ret = lpEnumFontFamExProcW(&pEfdw->elfexdv.elfEnumLogfontEx, ret = lpEnumFontFamExProcW((VOID*)&pEfdw->elfexdv.elfEnumLogfontEx,
&pNtmwi->ntmw, (VOID*)&pNtmwi->ntmw,
pEfdw->dwFontType, pEfdw->dwFontType,
lParam); lParam);

View file

@ -65,7 +65,7 @@ typedef struct tagINPUT {
} INPUT,*PINPUT,*LPINPUT; } INPUT,*PINPUT,*LPINPUT;
#endif /* (_WIN32_WINNT < 0x0403) */ #endif /* (_WIN32_WINNT < 0x0403) */
#if (WINVER < 0x0500) #if (WINVER < 0x0500)
typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD); typedef VOID (CALLBACK* WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
typedef struct tagGUITHREADINFO { typedef struct tagGUITHREADINFO {
DWORD cbSize; DWORD cbSize;
DWORD flags; DWORD flags;

View file

@ -2697,23 +2697,62 @@ typedef struct _ENUMTEXTMETRICW
} ENUMTEXTMETRICW, *PENUMTEXTMETRICW, *LPENUMTEXTMETRICW; } ENUMTEXTMETRICW, *PENUMTEXTMETRICW, *LPENUMTEXTMETRICW;
#if defined(STRICT)
#if !defined(NOTEXTMETRIC)
typedef int (CALLBACK *OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST TEXTMETRICA *, DWORD, LPARAM);
typedef int (CALLBACK *OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST TEXTMETRICW *, DWORD, LPARAM);
#else
typedef int (CALLBACK* OLDFONTENUMPROCA)(CONST LOGFONTA *, CONST VOID *, DWORD, LPARAM);
typedef int (CALLBACK* OLDFONTENUMPROCW)(CONST LOGFONTW *, CONST VOID *, DWORD, LPARAM);
#endif
#ifdef UNICODE
#define OLDFONTENUMPROC OLDFONTENUMPROCW
#else
#define OLDFONTENUMPROC OLDFONTENUMPROCA
#endif
typedef BOOL (CALLBACK *ABORTPROC)(HDC,int);
typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM);
typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,const ENHMETARECORD*,int,LPARAM);
typedef int (CALLBACK *OLDFONTENUMPROCA)(ENUMLOGFONTEXA*,NEWTEXTMETRICEXA*,DWORD,LPARAM);
typedef int (CALLBACK *OLDFONTENUMPROCW)(ENUMLOGFONTEXW*,NEWTEXTMETRICEXW*,DWORD,LPARAM);
typedef OLDFONTENUMPROCA FONTENUMPROCA; typedef OLDFONTENUMPROCA FONTENUMPROCA;
typedef OLDFONTENUMPROCW FONTENUMPROCW; typedef OLDFONTENUMPROCW FONTENUMPROCW;
#ifdef UNICODE #ifdef UNICODE
#define OLDFONTENUMPROC OLDFONTENUMPROCW typedef FONTENUMPROCW FONTENUMPROC;
#else #else
#define OLDFONTENUMPROC OLDFONTENUMPROCA typedef FONTENUMPROCA FONTENUMPROC;
#endif #endif
typedef INT (CALLBACK *GOBJENUMPROC)(LPVOID, LPARAM);
typedef VOID (CALLBACK *LINEDDAPROC)(INT, INT, LPARAM);
#else // defined(STRICT)
typedef FARPROC OLDFONTENUMPROC;
typedef FARPROC FONTENUMPROCA;
typedef FARPROC FONTENUMPROCW;
#ifdef UNICODE
typedef FONTENUMPROCW FONTENUMPROC;
#else
typedef FONTENUMPROCA FONTENUMPROC;
#endif
typedef FARPROC GOBJENUMPROC;
typedef FARPROC LINEDDAPROC;
#endif
typedef BOOL (CALLBACK *ABORTPROC)(HDC,int);
typedef int (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,int,LPARAM);
typedef int (CALLBACK *ENHMFENUMPROC)(HDC,HANDLETABLE*,const ENHMETARECORD*,int,LPARAM);
typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM); typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM);
typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM); typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM);
typedef void (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM);
typedef void (CALLBACK *LINEDDAPROC)(int,int,LPARAM);
typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT); typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,UINT);
typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA); typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODEA);
@ -3114,7 +3153,6 @@ typedef DOCINFOW DOCINFO, *LPDOCINFO;
typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT; typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT;
typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
#define ICMENUMPROC ICMENUMPROCW #define ICMENUMPROC ICMENUMPROCW
#define FONTENUMPROC FONTENUMPROCW
typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE; typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE;
typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV; typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV; typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
@ -3196,7 +3234,6 @@ typedef DOCINFOA DOCINFO, *LPDOCINFO;
typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT; typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC; typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
#define ICMENUMPROC ICMENUMPROCA #define ICMENUMPROC ICMENUMPROCA
#define FONTENUMPROC FONTENUMPROCA
typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE; typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE;
typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV; typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV; typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;

View file

@ -3025,7 +3025,8 @@ typedef struct _SECURITY_DESCRIPTOR {
PSID Group; PSID Group;
PACL Sacl; PACL Sacl;
PACL Dacl; PACL Dacl;
} SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR; } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
typedef PVOID PSECURITY_DESCRIPTOR;
#endif #endif
typedef struct _SECURITY_DESCRIPTOR_RELATIVE { typedef struct _SECURITY_DESCRIPTOR_RELATIVE {
BYTE Revision; BYTE Revision;

View file

@ -3525,7 +3525,7 @@ typedef struct tagGUITHREADINFO {
HWND hwndCaret; HWND hwndCaret;
RECT rcCaret; RECT rcCaret;
} GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO; } GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO;
typedef VOID (*WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD); typedef VOID (CALLBACK *WINEVENTPROC)(HWINEVENTHOOK,DWORD,HWND,LONG,LONG,DWORD,DWORD);
#endif /* (WINVER >= 0x0500) */ #endif /* (WINVER >= 0x0500) */
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
typedef struct { typedef struct {

View file

@ -17,7 +17,7 @@
static SID_IDENTIFIER_AUTHORITY LocalSystemAuthority = {SECURITY_NT_AUTHORITY}; static SID_IDENTIFIER_AUTHORITY LocalSystemAuthority = {SECURITY_NT_AUTHORITY};
static NTSTATUS static NTSTATUS
RtlpSysVolCreateSecurityDescriptor(OUT PSECURITY_DESCRIPTOR *SecurityDescriptor, RtlpSysVolCreateSecurityDescriptor(OUT PISECURITY_DESCRIPTOR *SecurityDescriptor,
OUT PSID *SystemSid) OUT PSID *SystemSid)
{ {
PSECURITY_DESCRIPTOR AbsSD = NULL; PSECURITY_DESCRIPTOR AbsSD = NULL;

View file

@ -1,7 +1,7 @@
/* /*
* COPYRIGHT: See COPYING in the top level directory * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Run-Time Library * PROJECT: ReactOS Run-Time Library
* FILE: ntoskrnl/rtl/dbgprint.c * FILE: lib/rtl/debug.c
* PURPOSE: Debug Print and Prompt routines * PURPOSE: Debug Print and Prompt routines
* PROGRAMMERS: Alex Ionescu (alex@relsoft.net) * PROGRAMMERS: Alex Ionescu (alex@relsoft.net)
* Royce Mitchel III * Royce Mitchel III
@ -203,19 +203,19 @@ __cdecl
DbgPrint(PCCH Format, DbgPrint(PCCH Format,
...) ...)
{ {
ULONG n; ULONG n;
va_list ap; va_list ap;
/* Call the internal routine that also handles ControlC */ /* Call the internal routine that also handles ControlC */
va_start(ap, Format); va_start(ap, Format);
n = vDbgPrintExWithPrefixInternal("", n = vDbgPrintExWithPrefixInternal("",
-1, -1,
DPFLTR_ERROR_LEVEL, DPFLTR_ERROR_LEVEL,
Format, Format,
ap, ap,
TRUE); TRUE);
va_end(ap); va_end(ap);
return n; return n;
} }
/* /*
@ -228,19 +228,19 @@ DbgPrintEx(IN ULONG ComponentId,
IN PCCH Format, IN PCCH Format,
...) ...)
{ {
ULONG n; ULONG n;
va_list ap; va_list ap;
/* Call the internal routine that also handles ControlC */ /* Call the internal routine that also handles ControlC */
va_start(ap, Format); va_start(ap, Format);
n = vDbgPrintExWithPrefixInternal("", n = vDbgPrintExWithPrefixInternal("",
ComponentId, ComponentId,
Level, Level,
Format, Format,
ap, ap,
TRUE); TRUE);
va_end(ap); va_end(ap);
return n; return n;
} }
/* /*
@ -251,19 +251,19 @@ __cdecl
DbgPrintReturnControlC(PCH Format, DbgPrintReturnControlC(PCH Format,
...) ...)
{ {
ULONG n; ULONG n;
va_list ap; va_list ap;
/* Call the internal routine that also handles ControlC */ /* Call the internal routine that also handles ControlC */
va_start(ap, Format); va_start(ap, Format);
n = vDbgPrintExWithPrefixInternal("", n = vDbgPrintExWithPrefixInternal("",
-1, -1,
DPFLTR_ERROR_LEVEL, DPFLTR_ERROR_LEVEL,
Format, Format,
ap, ap,
FALSE); FALSE);
va_end(ap); va_end(ap);
return n; return n;
} }
/* /*
@ -369,5 +369,3 @@ DbgUnLoadImageSymbols(IN PANSI_STRING Name,
/* Load the symbols */ /* Load the symbols */
DebugService2(Name, &SymbolInfo, BREAKPOINT_UNLOAD_SYMBOLS); DebugService2(Name, &SymbolInfo, BREAKPOINT_UNLOAD_SYMBOLS);
} }
/* EOF */

View file

@ -1018,7 +1018,7 @@ RtlSelfRelativeToAbsoluteSD2(IN OUT PSECURITY_DESCRIPTOR SelfRelativeSD,
* @implemented * @implemented
*/ */
BOOLEAN NTAPI BOOLEAN NTAPI
RtlValidRelativeSecurityDescriptor(IN PISECURITY_DESCRIPTOR SecurityDescriptorInput, RtlValidRelativeSecurityDescriptor(IN PSECURITY_DESCRIPTOR SecurityDescriptorInput,
IN ULONG SecurityDescriptorLength, IN ULONG SecurityDescriptorLength,
IN SECURITY_INFORMATION RequiredInformation) IN SECURITY_INFORMATION RequiredInformation)
{ {
@ -1027,7 +1027,7 @@ RtlValidRelativeSecurityDescriptor(IN PISECURITY_DESCRIPTOR SecurityDescriptorIn
PAGED_CODE_RTL(); PAGED_CODE_RTL();
if (SecurityDescriptorLength < sizeof(SECURITY_DESCRIPTOR_RELATIVE) || if (SecurityDescriptorLength < sizeof(SECURITY_DESCRIPTOR_RELATIVE) ||
SecurityDescriptorInput->Revision != SECURITY_DESCRIPTOR_REVISION1 || pSD->Revision != SECURITY_DESCRIPTOR_REVISION1 ||
!(pSD->Control & SE_SELF_RELATIVE)) !(pSD->Control & SE_SELF_RELATIVE))
{ {
return FALSE; return FALSE;

View file

@ -85,9 +85,9 @@ find_and_print_offset (
else else
{ {
PROSSYM_ENTRY e = &Entries[i]; PROSSYM_ENTRY e = &Entries[i];
printf ( "%s:%lu (%s)\n", printf ( "%s:%u (%s)\n",
&Strings[e->FileOffset], &Strings[e->FileOffset],
e->SourceLine, (unsigned int)e->SourceLine,
&Strings[e->FunctionOffset] ); &Strings[e->FunctionOffset] );
return 0; return 0;
} }