- ntifs.h & cmdata.h : Don't use array size of 0. Fixes C4200.
- wdm.h: Correct definition of 64-bit SLIST_HEADER. Add explicit casts to avoid /W4 warnings in RtlEnlargedUnsignedDivide.
- winddk.h: Add MSVC intrinsic __readfsbyte for KeGetCurrentProcessorNumber. Misc fixes.
- Fix various msvc issues in cmd, setupapi, usetup, win32csr, winlogon, msafd, ws2_32 and ext2lib, most notably:
- cmd & doskey: Don't use fishy gcc extension to allocate variable-sized arrays from the stack. Use the heap instead.
- Disable warning C4733 for mingw_main too (was only done for mingw_wmain previously).
- advapi32: Pass the correct handles to TRACE -- spotted by MSVC.
- Set the specified register in ecx in MSVC versions of Ke386Wrmsr and Ke386Rdmsr instead of reading from/writing to a random MSR. Yay /W4.
svn path=/trunk/; revision=42342
static VOID PrintHistory(VOID)
{
DWORD Length = GetConsoleCommandHistoryLength(pszExeName);
+ DWORD BufferLength;
+ PBYTE HistBuf;
+ TCHAR *Hist;
+ TCHAR *HistEnd;
+
/* On Windows, the ANSI version of GetConsoleCommandHistory requires
* a buffer twice as large as the actual history length. */
- BYTE HistBuf[Length * (sizeof(WCHAR) / sizeof(TCHAR))];
- TCHAR *Hist = (TCHAR *)HistBuf;
- TCHAR *HistEnd = (TCHAR *)&HistBuf[Length];
+ BufferLength = Length * (sizeof(WCHAR) / sizeof(TCHAR)) * sizeof(BYTE);
+
+ HistBuf = HeapAlloc(GetProcessHeap(),
+ HEAP_ZERO_MEMORY,
+ BufferLength);
+ if (!HistBuf) return;
+ Hist = (TCHAR *)HistBuf;
+ HistEnd = (TCHAR *)&HistBuf[Length];
- if (GetConsoleCommandHistory(Hist, sizeof HistBuf, pszExeName))
+ if (GetConsoleCommandHistory(Hist, BufferLength, pszExeName))
for (; Hist < HistEnd; Hist += _tcslen(Hist) + 1)
_tprintf(_T("%s\n"), Hist);
+
+ HeapFree(GetProcessHeap(), 0, HistBuf);
}
static INT SetMacro(LPTSTR definition)
static VOID PrintMacros(LPTSTR pszExeName, LPTSTR Indent)
{
DWORD Length = GetConsoleAliasesLength(pszExeName);
- BYTE AliasBuf[Length];
- TCHAR *Alias = (TCHAR *)AliasBuf;
- TCHAR *AliasEnd = (TCHAR *)&AliasBuf[Length];
+ PBYTE AliasBuf;
+ TCHAR *Alias;
+ TCHAR *AliasEnd;
+
+ AliasBuf = HeapAlloc(GetProcessHeap(),
+ HEAP_ZERO_MEMORY,
+ Length * sizeof(BYTE));
+ if (!AliasBuf) return;
+ Alias = (TCHAR *)AliasBuf;
+ AliasEnd = (TCHAR *)&AliasBuf[Length];
- if (GetConsoleAliases(Alias, sizeof AliasBuf, pszExeName))
+ if (GetConsoleAliases(Alias, Length * sizeof(BYTE), pszExeName))
for (; Alias < AliasEnd; Alias += _tcslen(Alias) + 1)
_tprintf(_T("%s%s\n"), Indent, Alias);
+
+ HeapFree(GetProcessHeap(), 0, AliasBuf);
}
static VOID PrintAllMacros(VOID)
{
DWORD Length = GetConsoleAliasExesLength();
- BYTE ExeNameBuf[Length];
- TCHAR *ExeName = (TCHAR *)ExeNameBuf;
- TCHAR *ExeNameEnd = (TCHAR *)&ExeNameBuf[Length];
+ PBYTE ExeNameBuf;
+ TCHAR *ExeName;
+ TCHAR *ExeNameEnd;
+
+ ExeNameBuf = HeapAlloc(GetProcessHeap(),
+ HEAP_ZERO_MEMORY,
+ Length * sizeof(BYTE));
+ if (!ExeNameBuf) return;
+ ExeName = (TCHAR *)ExeNameBuf;
+ ExeNameEnd = (TCHAR *)&ExeNameBuf[Length];
- if (GetConsoleAliasExes(ExeName, sizeof ExeNameBuf))
+ if (GetConsoleAliasExes(ExeName, Length * sizeof(BYTE)))
{
for (; ExeName < ExeNameEnd; ExeName += _tcslen(ExeName) + 1)
{
_tprintf(_T("\n"));
}
}
+
+ HeapFree(GetProcessHeap(), 0, ExeNameBuf);
}
static VOID ReadFromFile(LPTSTR param)
FileCopyPage(PINPUT_RECORD Ir)
{
COPYCONTEXT CopyContext;
+ unsigned int mem_bar_width;
MUIDisplayPage(FILE_COPY_PAGE);
MUIGetString(STRING_SETUPCOPYINGFILES));
// fit memory bars to screen width, distribute them uniform
- unsigned int mem_bar_width = (xScreen - 26) / 5;
+ mem_bar_width = (xScreen - 26) / 5;
mem_bar_width -= mem_bar_width % 2; // make even
/* ATTENTION: The following progress bars are debug stuff, which should not be translated!! */
/* Create the paged pool progress bar */
INT
DoCommand(LPTSTR first, LPTSTR rest, PARSED_COMMAND *Cmd)
{
- TCHAR com[_tcslen(first) + _tcslen(rest) + 2]; /* full command line */
+ TCHAR *com;
TCHAR *cp;
LPTSTR param; /* pointer to command's parameters */
INT cl;
LPCOMMAND cmdptr;
BOOL nointernal = FALSE;
+ INT ret;
TRACE ("DoCommand: (\'%s\' \'%s\')\n", debugstr_aw(first), debugstr_aw(rest));
+ /* full command line */
+ com = cmd_alloc((_tcslen(first) + _tcslen(rest) + 2) * sizeof(TCHAR));
+ if (com == NULL)
+ {
+ error_out_of_memory();
+ return 1;
+ }
+
/* If present in the first word, these characters end the name of an
* internal command and become the beginning of its parameters. */
cp = first + _tcscspn(first, _T("\t +,/;=[]"));
if (_tcsicmp(cmdptr->name, _T("echo")) != 0)
while (_istspace(*param))
param++;
- return cmdptr->func(param);
+ ret = cmdptr->func(param);
+ cmd_free(com);
+ return ret;
}
}
- return Execute(com, first, rest, Cmd);
+ ret = Execute(com, first, rest, Cmd);
+ cmd_free(com);
+ return ret;
}
if (bUnicodeOutput)
{
#ifndef _UNICODE
- WCHAR buffer[len];
+ WCHAR *buffer = cmd_alloc(len * sizeof(WCHAR));
+ if (!buffer)
+ {
+ error_out_of_memory();
+ return;
+ }
len = MultiByteToWideChar(OutputCodePage, 0, str, len, buffer, len, NULL, NULL);
str = (PVOID)buffer;
#endif
WriteFile(hOutput, str, len * sizeof(WCHAR), &dwWritten, NULL);
+#ifndef _UNICODE
+ cmd_free(buffer);
+#endif
}
else
{
#ifdef _UNICODE
- CHAR buffer[len * MB_LEN_MAX];
+ CHAR *buffer = cmd_alloc(len * MB_LEN_MAX * sizeof(CHAR));
+ if (!buffer)
+ {
+ error_out_of_memory();
+ return;
+ }
len = WideCharToMultiByte(OutputCodePage, 0, str, len, buffer, len * MB_LEN_MAX, NULL, NULL);
str = (PVOID)buffer;
#endif
WriteFile(hOutput, str, len, &dwWritten, NULL);
+#ifdef _UNICODE
+ cmd_free(buffer);
+#endif
}
}
TCHAR szAvailPageFile[40];
TCHAR szTotalVirtual[40];
TCHAR szAvailVirtual[40];
+ BOOL (WINAPI *GlobalMemoryStatusEx)(LPMEMORYSTATUSEX);
if (!_tcsncmp (param, _T("/?"), 2))
{
return 0;
}
- BOOL (WINAPI *GlobalMemoryStatusEx)(LPMEMORYSTATUSEX)
- = GetProcAddress(GetModuleHandle(_T("KERNEL32")), "GlobalMemoryStatusEx");
+ GlobalMemoryStatusEx
+ = (BOOL (WINAPI *)(LPMEMORYSTATUSEX))GetProcAddress(GetModuleHandle(_T("KERNEL32")), "GlobalMemoryStatusEx");
if (GlobalMemoryStatusEx)
{
msex.dwLength = sizeof(MEMORYSTATUSEX);
/*
* get a character out-of-band and honor Ctrl-Break characters
*/
-TCHAR cgetchar (VOID)
+TCHAR
+cgetchar (VOID)
{
HANDLE hInput = GetStdHandle (STD_INPUT_HANDLE);
INPUT_RECORD irBuffer;
HMODULE hNTDLL = GetModuleHandle(_T("NTDLL"));
BOOLEAN (WINAPI *RtlDosPathNameToNtPathName_U)(PCWSTR, PUNICODE_STRING, PCWSTR *, CURDIR *)
- = (BOOLEAN (WINAPI *)())GetProcAddress(hNTDLL, "RtlDosPathNameToNtPathName_U");
+ = (BOOLEAN (WINAPI *)(PCWSTR, PUNICODE_STRING, PCWSTR *, CURDIR *))GetProcAddress(hNTDLL, "RtlDosPathNameToNtPathName_U");
VOID (WINAPI *RtlFreeUnicodeString)(PUNICODE_STRING)
- = (VOID (WINAPI *)())GetProcAddress(hNTDLL, "RtlFreeUnicodeString");
+ = (VOID (WINAPI *)(PUNICODE_STRING))GetProcAddress(hNTDLL, "RtlFreeUnicodeString");
TCHAR TargetFullPath[MAX_PATH];
#ifdef UNICODE
* so load dynamically */
BOOL (WINAPI *CreateSymbolicLink)(LPCTSTR, LPCTSTR, DWORD)
#ifdef UNICODE
- = (BOOL (WINAPI *)())GetProcAddress(hKernel32, "CreateSymbolicLinkW");
+ = (BOOL (WINAPI *)(LPCTSTR, LPCTSTR, DWORD))GetProcAddress(hKernel32, "CreateSymbolicLinkW");
#else
- = (BOOL (WINAPI *)())GetProcAddress(hKernel32, "CreateSymbolicLinkA");
+ = (BOOL (WINAPI *)(LPCTSTR, LPCTSTR, DWORD))GetProcAddress(hKernel32, "CreateSymbolicLinkA");
#endif
if (CreateSymbolicLink && CreateSymbolicLink(Name[0], Name[1], Flags))
{
* so load dynamically */
BOOL (WINAPI *CreateHardLink)(LPCTSTR, LPCTSTR, LPSECURITY_ATTRIBUTES)
#ifdef UNICODE
- = (BOOL (WINAPI *)())GetProcAddress(hKernel32, "CreateHardLinkW");
+ = (BOOL (WINAPI *)(LPCTSTR, LPCTSTR, LPSECURITY_ATTRIBUTES))GetProcAddress(hKernel32, "CreateHardLinkW");
#else
- = (BOOL (WINAPI *)())GetProcAddress(hKernel32, "CreateHardLinkA");
+ = (BOOL (WINAPI *)(LPCTSTR, LPCTSTR, LPSECURITY_ATTRIBUTES))GetProcAddress(hKernel32, "CreateHardLinkA");
#endif
if (CreateHardLink && CreateHardLink(Name[0], Name[1], NULL))
{
static PARSED_COMMAND *ParseIf(void)
{
PARSED_COMMAND *Cmd = cmd_alloc(sizeof(PARSED_COMMAND));
+ int Type;
memset(Cmd, 0, sizeof(PARSED_COMMAND));
Cmd->Type = C_IF;
- int Type = CurrentTokenType;
+ Type = CurrentTokenType;
if (_tcsicmp(CurrentToken, _T("/I")) == 0)
{
Cmd->If.Flags |= IFFLAG_IGNORECASE;
if (CurChar == _T('@'))
{
+ PARSED_COMMAND *Cmd;
ParseChar();
- PARSED_COMMAND *Cmd = cmd_alloc(sizeof(PARSED_COMMAND));
+ Cmd = cmd_alloc(sizeof(PARSED_COMMAND));
Cmd->Type = C_QUIET;
Cmd->Next = NULL;
/* @ acts like a unary operator with low precedence,
DWORD dwSize = sizeof(szBuffer);
HMODULE hLibrary;
SERVICE_STATUS_PROCESS Info;
- typedef BOOL WINAPI (*PLAYSOUNDW)(LPCWSTR,HMODULE,DWORD);
+ typedef BOOL (WINAPI *PLAYSOUNDW)(LPCWSTR,HMODULE,DWORD);
PLAYSOUNDW Play;
ULONG Index = 0;
hUser32 = LoadLibrary(_T("user32.dll"));
if(hUser32 == NULL)
- return FALSE;
+ return;
DrawCaptionTemp = (DCT_PROC)GetProcAddress(hUser32, (LPCSTR)DCT_ORD);
DrawMenuBarTemp = (DMBT_PROC)GetProcAddress(hUser32, (LPCSTR)DMBT_ORD);
SettingsPageProc(IN HWND hwndDlg, IN UINT uMsg, IN WPARAM wParam, IN LPARAM lParam)
{
PGLOBAL_DATA pGlobalData;
+ TCHAR Message[1024], Title[256];
pGlobalData = (PGLOBAL_DATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
- TCHAR Message[1024], Title[256];
-
switch(uMsg)
{
case WM_INITDIALOG:
while (RegEnumKeyEx(hKey, dwIndex, szLayoutID, &dwSize, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
{
+ INT iIndex;
+
GetLayoutName(szLayoutID, KeyName);
- INT iIndex = (INT) SendMessage(hItemsList, CB_ADDSTRING, 0, (LPARAM)KeyName);
+ iIndex = (INT) SendMessage(hItemsList, CB_ADDSTRING, 0, (LPARAM)KeyName);
pstrLayoutID = (PTSTR)HeapAlloc(hProcessHeap, 0, sizeof(szLayoutID));
lstrcpy(pstrLayoutID, szLayoutID);
static const int info_size = offsetof( KEY_VALUE_PARTIAL_INFORMATION, Data );
TRACE("(%p,%s,%p,%p,%p,%p=%d)\n",
- hkey, debugstr_w(name), reserved, type, data, count,
+ hkeyorg, debugstr_w(name), reserved, type, data, count,
(count && data) ? *count : 0 );
if ((data && !count) || reserved) return ERROR_INVALID_PARAMETER;
DWORD ret;
NTSTATUS Status;
- TRACE("(%p,%s,%d,%s,%d)\n", hKey, debugstr_a(lpSubKey), dwType, debugstr_a(lpData), cbData );
+ TRACE("(%p,%s,%d,%s,%d)\n", hKeyOriginal, debugstr_a(lpSubKey), dwType, debugstr_a(lpData), cbData );
if (dwType != REG_SZ || !lpData) return ERROR_INVALID_PARAMETER;
fd_set *readfds,
fd_set *writefds,
fd_set *exceptfds,
- struct timeval *timeout,
+ const LPTIMEVAL timeout,
LPINT lpErrno)
{
IO_STATUS_BLOCK IOSB;
{
struct DeviceInfoSet *set = (struct DeviceInfoSet *)DeviceInfoSet;
HKEY key = INVALID_HANDLE_VALUE;
+ LPWSTR lpGuidString = NULL;
+ LPWSTR DriverKey = NULL; /* {GUID}\Index */
+ LPWSTR pDeviceInstance; /* Points into DriverKey, on the Index field */
+ DWORD Index; /* Index used in the DriverKey name */
+ DWORD rc;
+ HKEY hHWProfileKey = INVALID_HANDLE_VALUE;
+ HKEY hEnumKey = NULL;
+ HKEY hClassKey = NULL;
+ HKEY hDeviceKey = INVALID_HANDLE_VALUE;
+ HKEY hKey = NULL;
+ HKEY RootKey;
TRACE("%p %p %lu %lu %lu %p %s\n", DeviceInfoSet, DeviceInfoData, Scope,
HwProfile, KeyType, InfHandle, debugstr_w(InfSectionName));
return INVALID_HANDLE_VALUE;
}
- LPWSTR lpGuidString = NULL;
- LPWSTR DriverKey = NULL; /* {GUID}\Index */
- LPWSTR pDeviceInstance; /* Points into DriverKey, on the Index field */
- DWORD Index; /* Index used in the DriverKey name */
- DWORD rc;
- HKEY hHWProfileKey = INVALID_HANDLE_VALUE;
- HKEY hEnumKey = NULL;
- HKEY hClassKey = NULL;
- HKEY hDeviceKey = INVALID_HANDLE_VALUE;
- HKEY hKey = NULL;
- HKEY RootKey;
-
if (Scope == DICS_FLAG_GLOBAL)
RootKey = set->HKLM;
else /* Scope == DICS_FLAG_CONFIGSPECIFIC */
{
struct DeviceInfoSet *set = (struct DeviceInfoSet *)DeviceInfoSet;
BOOL ret = FALSE;
+ SP_DEVINFO_DATA DevInfo;
TRACE("%p %s %s %s %p %x %p\n", DeviceInfoSet, debugstr_w(DeviceName),
debugstr_guid(ClassGuid), debugstr_w(DeviceDescription),
return FALSE;
}
- SP_DEVINFO_DATA DevInfo;
-
if (CreationFlags & DICD_GENERATE_ID)
{
/* Generate a new unique ID for this device */
typedef BOOL (*iterate_fields_func)( HINF hinf, PCWSTR field, void *arg );
static BOOL GetLineText( HINF hinf, PCWSTR section_name, PCWSTR key_name, PWSTR *value);
-typedef HRESULT WINAPI (*COINITIALIZE)(IN LPVOID pvReserved);
-typedef HRESULT WINAPI (*COCREATEINSTANCE)(IN REFCLSID rclsid, IN LPUNKNOWN pUnkOuter, IN DWORD dwClsContext, IN REFIID riid, OUT LPVOID *ppv);
-typedef HRESULT WINAPI (*COUNINITIALIZE)(VOID);
+typedef HRESULT (WINAPI *COINITIALIZE)(IN LPVOID pvReserved);
+typedef HRESULT (WINAPI *COCREATEINSTANCE)(IN REFCLSID rclsid, IN LPUNKNOWN pUnkOuter, IN DWORD dwClsContext, IN REFIID riid, OUT LPVOID *ppv);
+typedef HRESULT (WINAPI *COUNINITIALIZE)(VOID);
/* Unicode constants */
static const WCHAR AddService[] = {'A','d','d','S','e','r','v','i','c','e',0};
void free_servent(struct servent* s)
{
+ char* next;
HFREE(s->s_name);
- char* next = s->s_aliases[0];
+ next = s->s_aliases[0];
while(next) { HFREE(next); next++; }
s->s_port = 0;
HFREE(s->s_proto);
DNS_STATUS dns_status = {0};
/* include/WinDNS.h -- look up DNS_RECORD on MSDN */
PDNS_RECORD dp = 0;
+ PWINSOCK_THREAD_BLOCK p;
addr = GH_INVALID;
- PWINSOCK_THREAD_BLOCK p = NtCurrentTeb()->WinSockData;
+ p = NtCurrentTeb()->WinSockData;
if( !p )
{
IN USHORT hostshort,
OUT USHORT FAR* lpnetshort)
{
+ PCATALOG_ENTRY provider;
if (!WSAINITIALIZED)
{
WSASetLastError(WSANOTINITIALISED);
return SOCKET_ERROR;
}
- PCATALOG_ENTRY provider;
if (!ReferenceProviderByHandle((HANDLE)s, &provider))
{
WSASetLastError(WSAENOTSOCK);
IN USHORT netshort,
OUT USHORT FAR* lphostshort)
{
+ PCATALOG_ENTRY provider;
if (!WSAINITIALIZED)
{
WSASetLastError(WSANOTINITIALISED);
return SOCKET_ERROR;
}
- PCATALOG_ENTRY provider;
if (!ReferenceProviderByHandle((HANDLE)s, &provider))
{
WSASetLastError(WSAENOTSOCK);
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
- WCHAR FileName[0];
+ WCHAR FileName[ANYSIZE_ARRAY];
} FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION;
typedef struct _FILE_ID_FULL_DIR_INFORMATION {
ULONGLONG Reserved:59;\r
ULONGLONG Region:3;\r
} Header8;\r
+ struct {\r
ULONGLONG Depth:16;\r
ULONGLONG Sequence:48;\r
ULONGLONG HeaderType:1;\r
ULONGLONG Init:1;\r
ULONGLONG Reserved:2;\r
ULONGLONG NextEntry:60;\r
- struct {\r
} Header16;\r
} SLIST_HEADER, *PSLIST_HEADER;\r
#else\r
IN OUT PULONG Remainder)\r
{\r
if (Remainder)\r
- *Remainder = Dividend.QuadPart % Divisor;\r
- return Dividend.QuadPart / Divisor;\r
+ *Remainder = (ULONG)(Dividend.QuadPart % Divisor);\r
+ return (ULONG)(Dividend.QuadPart / Divisor);\r
}\r
\r
//DECLSPEC_DEPRECATED_DDK\r
ULONG Spare1;
} KFLOATING_SAVE, *PKFLOATING_SAVE;
-static __inline
+#ifdef _MSC_VER
+//
+// FIXME: Intrinsics
+//
+unsigned char __readfsbyte(const unsigned long Offset);
+#pragma intrinsic(__readfsbyte)
+#endif
+
+
+FORCEINLINE
ULONG
-DDKAPI
KeGetCurrentProcessorNumber(VOID)
{
#if defined(__GNUC__)
#if _MSC_FULL_VER >= 13012035
return (ULONG)__readfsbyte(FIELD_OFFSET(KPCR, Number));
#else
- __asm { movzx eax, _PCR KPCR.Number }
+ __asm { movzx eax, fs:[0] KPCR.Number }
#endif
#else
#error Unknown compiler
OldBlink = Entry->Blink;
OldFlink->Blink = OldBlink;
OldBlink->Flink = OldFlink;
- return (OldFlink == OldBlink);
+ return (BOOLEAN)(OldFlink == OldBlink);
}
static __inline PLIST_ENTRY
#define WNNC_START 0x0000000c
#define WNNC_WAIT_FOR_START 0x00000001
-typedef DWORD APIENTRY (*PF_NPGetCaps)(DWORD ndex);
+typedef DWORD (APIENTRY *PF_NPGetCaps)(DWORD ndex);
/* get user */
-typedef DWORD APIENTRY (*PF_NPGetUser)(LPWSTR lpName, LPWSTR lpUserName,
+typedef DWORD (APIENTRY *PF_NPGetUser)(LPWSTR lpName, LPWSTR lpUserName,
LPDWORD lpnBufferLen);
/* enumeration-related */
-typedef DWORD APIENTRY (*PF_NPOpenEnum)(DWORD dwScope, DWORD dwType, DWORD dwUsage,
+typedef DWORD (APIENTRY *PF_NPOpenEnum)(DWORD dwScope, DWORD dwType, DWORD dwUsage,
LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum);
-typedef DWORD APIENTRY (*PF_NPEnumResource)(HANDLE hEnum, LPDWORD lpcCount,
+typedef DWORD (APIENTRY *PF_NPEnumResource)(HANDLE hEnum, LPDWORD lpcCount,
LPVOID lpBuffer, LPDWORD lpBufferSize);
-typedef DWORD APIENTRY (*PF_NPCloseEnum)(HANDLE hEnum);
+typedef DWORD (APIENTRY *PF_NPCloseEnum)(HANDLE hEnum);
typedef DWORD (APIENTRY *PF_NPGetResourceInformation)(LPNETRESOURCEW lpNetResource,
LPVOID lpBuffer, LPDWORD lpcbBuffer, LPWSTR* lplpSystem);
/* connection-related */
-typedef DWORD APIENTRY (*PF_NPAddConnection)(LPNETRESOURCEW lpNetResource,
+typedef DWORD (APIENTRY *PF_NPAddConnection)(LPNETRESOURCEW lpNetResource,
LPWSTR lpPassword, LPWSTR lpUserName);
-typedef DWORD APIENTRY (*PF_NPAddConnection3)(HWND hwndOwner,
+typedef DWORD (APIENTRY *PF_NPAddConnection3)(HWND hwndOwner,
LPNETRESOURCEW lpNetResource, LPWSTR lpPassword, LPWSTR lpUserName,
DWORD dwFlags);
-typedef DWORD APIENTRY (*PF_NPCancelConnection)(LPWSTR lpName, BOOL fForce);
-typedef DWORD APIENTRY (*PF_NPGetConnection)(LPWSTR lpLocalName,
+typedef DWORD (APIENTRY *PF_NPCancelConnection)(LPWSTR lpName, BOOL fForce);
+typedef DWORD (APIENTRY *PF_NPGetConnection)(LPWSTR lpLocalName,
LPWSTR lpRemoteName, LPDWORD lpnBufferLen);
/* network name manipulation */
-typedef DWORD APIENTRY (*PF_NPGetUniversalName)(LPWSTR lpLocalPath,
+typedef DWORD (APIENTRY *PF_NPGetUniversalName)(LPWSTR lpLocalPath,
DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpnBufferSize);
-typedef DWORD APIENTRY (*PF_NPFormatNetworkName)(LPWSTR lpRemoteName,
+typedef DWORD (APIENTRY *PF_NPFormatNetworkName)(LPWSTR lpRemoteName,
LPWSTR lpFormattedName, LPDWORD lpnLength, DWORD dwFlags,
DWORD dwAveCharPerLine);
/* dialogs */
-typedef DWORD APIENTRY (*PF_NPDeviceMode)(HWND hParent);
+typedef DWORD (APIENTRY *PF_NPDeviceMode)(HWND hParent);
/* search dialog */
#define WNSRCH_REFRESH_FIRST_LEVEL 0x00000001
-typedef DWORD APIENTRY (*PF_NPSearchDialog)(HWND hwndParent,
+typedef DWORD (APIENTRY *PF_NPSearchDialog)(HWND hwndParent,
LPNETRESOURCEW lpNetResource, LPVOID lpBuffer, DWORD cbBuffer,
LPDWORD lpnFlags);
#define WNPS_DIR 1
#define WNPS_MULT 2
-typedef DWORD APIENTRY (*PF_NPGetPropertyText)(DWORD iButton, DWORD nPropSel,
+typedef DWORD (APIENTRY *PF_NPGetPropertyText)(DWORD iButton, DWORD nPropSel,
LPWSTR lpName, LPWSTR lpButtonName, DWORD nButtonNameLen, DWORD nType);
-typedef DWORD APIENTRY (*PF_NPPropertyDialog)(HWND hwndParent, DWORD iButtonDlg,
+typedef DWORD (APIENTRY *PF_NPPropertyDialog)(HWND hwndParent, DWORD iButtonDlg,
DWORD nPropSel, LPWSTR lpFileName, DWORD nType);
/* admin */
#define WNDN_RMDIR 2
#define WNDN_MVDIR 3
-typedef DWORD APIENTRY (*PF_NPGetDirectoryType)(LPWSTR lpName, LPINT lpType,
+typedef DWORD (APIENTRY *PF_NPGetDirectoryType)(LPWSTR lpName, LPINT lpType,
BOOL bFlushCache);
-typedef DWORD APIENTRY (*PF_NPDirectoryNotify)(HWND hwnd, LPWSTR lpDir,
+typedef DWORD (APIENTRY *PF_NPDirectoryNotify)(HWND hwnd, LPWSTR lpDir,
DWORD dwOper);
/* permission editor dialogs */
#define WNPERMC_AUDIT 0x00000002
#define WNPERMC_OWNER 0x00000004
-typedef DWORD APIENTRY (*PF_NPFMXGetPermCaps)(LPWSTR lpDriveName);
+typedef DWORD (APIENTRY *PF_NPFMXGetPermCaps)(LPWSTR lpDriveName);
#define WNPERM_DLG_PERM 0
#define WNPERM_DLG_AUDIT 1
#define WNPERM_DLG_OWNER 2
-typedef DWORD APIENTRY (*PF_NPFMXEditPerm)(LPWSTR lpDriveName, HWND hwndFMX,
+typedef DWORD (APIENTRY *PF_NPFMXEditPerm)(LPWSTR lpDriveName, HWND hwndFMX,
DWORD nDialogType);
-typedef DWORD APIENTRY (*PF_NPFMXGetPermHelp)(LPWSTR lpDriveName,
+typedef DWORD (APIENTRY *PF_NPFMXGetPermHelp)(LPWSTR lpDriveName,
DWORD nDialogType, BOOL fDirectory, LPVOID lpFileNameBuffer,
LPDWORD lpBufferSize, LPDWORD lpnHelpContext);
#define WN_NT_PASSWORD_CHANGED 0x00000002
/* notifications */
-typedef DWORD APIENTRY (*PF_NPLogonNotify)(PLUID lpLogonId,
+typedef DWORD (APIENTRY *PF_NPLogonNotify)(PLUID lpLogonId,
LPCWSTR lpAuthentInfoType, LPVOID lpAuthentInfo,
LPCWSTR lpPreviousAuthentInfoType, LPVOID lpPreviousAuthentInfo,
LPWSTR lpStationName, LPVOID StationHandle, LPWSTR *lpLogonScript);
-typedef DWORD APIENTRY (*PF_NPPasswordChangeNotify)(LPCWSTR lpAuthentInfoType,
+typedef DWORD (APIENTRY *PF_NPPasswordChangeNotify)(LPCWSTR lpAuthentInfoType,
LPVOID lpAuthentInfo, LPCWSTR lpPreviousAuthentInfoType,
LPVOID lpPreviousAuthentInfo, LPWSTR lpStationName, LPVOID StationHandle,
DWORD dwChangeInfo);
BOOL fForce;
} NOTIFYCANCEL, *LPNOTIFYCANCEL;
-typedef DWORD APIENTRY (*PF_AddConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
+typedef DWORD (APIENTRY *PF_AddConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
LPNOTIFYADD lpAddInfo);
-typedef DWORD APIENTRY (*PF_CancelConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
+typedef DWORD (APIENTRY *PF_CancelConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
LPNOTIFYADD lpAddInfo);
#endif /* ndef __WINE_NPAPI_H__ */
<module name="mingw_main" type="staticlibrary" isstartuplib="true" crt="dll">
<define name="_CRTBLD" />
<include base="ReactOS">include/reactos/mingw-w64</include>
+ <compilerflag compilerset="msc">/wd4733</compilerflag>
<file>crt0_c.c</file>
<file>crtexe.c</file>
<file>dllargv.c</file>
ULONG WorkVar;
USHORT NameLength;
USHORT ClassLength;
- WCHAR Name[0];
+ WCHAR Name[ANYSIZE_ARRAY];
} CM_KEY_NODE, *PCM_KEY_NODE;
//
//
typedef struct _VALUE_LIST_CELL
{
- HCELL_INDEX ValueOffset[0];
+ HCELL_INDEX ValueOffset[ANYSIZE_ARRAY];
} VALUE_LIST_CELL, *PVALUE_LIST_CELL;
//
ULONG Type;
USHORT Flags;
USHORT Unused1;
- WCHAR Name[0];
+ WCHAR Name[ANYSIZE_ARRAY];
} CM_KEY_VALUE, *PCM_KEY_VALUE;
//
ULONG ReferenceCount;
ULONG DescriptorLength;
//SECURITY_DESCRIPTOR_RELATIVE Descriptor;
- UCHAR Data[0];
+ UCHAR Data[ANYSIZE_ARRAY];
} CM_KEY_SECURITY, *PCM_KEY_SECURITY;
#ifdef CMLIB_HOST
/* File Sys Structure */
EXT2_FILESYS FileSys;
ULONG Percent;
+ ULONG rsv;
+ ULONG blocks;
+ ULONG start;
+ ULONG ret_blk;
Callback(PROGRESS, 0, (PVOID)&Percent);
}
/* rsv must be a power of two (64kB is MD RAID sb alignment) */
- ULONG rsv = 65536 / FileSys.blocksize;
- ULONG blocks = Ext2Sb.s_blocks_count;
- ULONG start;
- ULONG ret_blk;
+ rsv = 65536 / FileSys.blocksize;
+ blocks = Ext2Sb.s_blocks_count;
#ifdef ZAP_BOOTBLOCK
zap_sector(&FileSys, 0, 2);
IN ULONG Var1,
IN ULONG Var2)
{
+ __asm mov ecx, Register;
__asm mov eax, Var1;
__asm mov edx, Var2;
__asm wrmsr;
IN ULONG Var1,
IN ULONG Var2)
{
+ __asm mov ecx, Register;
__asm mov eax, Var1;
__asm mov edx, Var2;
__asm rdmsr;
PALIAS_ENTRY
IntGetAliasEntry(PALIAS_HEADER Header, LPCWSTR lpSrcName)
{
+ PALIAS_ENTRY RootHeader;
+
if (Header == NULL)
return NULL;
- PALIAS_ENTRY RootHeader = Header->Data;
+ RootHeader = Header->Data;
while(RootHeader)
{
+ INT diff;
DPRINT("IntGetAliasEntry>lpSource %S\n", RootHeader->lpSource);
- INT diff = _wcsicmp(RootHeader->lpSource, lpSrcName);
+ diff = _wcsicmp(RootHeader->lpSource, lpSrcName);
if (!diff)
return RootHeader;