[ros-diffs] [hbelusca] 73754: Restore also some headers the modifications of which were lost during sync.

2017-02-07 Thread hbelusca
Author: hbelusca
Date: Wed Feb  8 03:06:10 2017
New Revision: 73754

URL: http://svn.reactos.org/svn/reactos?rev=73754=rev
Log:
Restore also some headers the modifications of which were lost during sync.

Added:
branches/sspi-bringup/reactos/include/psdk/ntmsv1_0.h   (props changed)
  - copied unchanged from r73749, 
branches/sspi-bringup/reactos/include/psdk/ntmsv1_0.h
Modified:
branches/sspi-bringup/reactos/include/psdk/ntsecapi.h
branches/sspi-bringup/reactos/include/psdk/ntsecpkg.h
branches/sspi-bringup/reactos/include/psdk/rpcdce.h
branches/sspi-bringup/reactos/include/psdk/schannel.h
branches/sspi-bringup/reactos/include/psdk/secext.h
branches/sspi-bringup/reactos/include/psdk/security.h
branches/sspi-bringup/reactos/include/psdk/specstrings.h
branches/sspi-bringup/reactos/include/psdk/sspi.h
branches/sspi-bringup/reactos/include/psdk/subauth.h
branches/sspi-bringup/reactos/include/psdk/wincred.h
branches/sspi-bringup/reactos/include/psdk/ws2tcpip.h
branches/sspi-bringup/reactos/include/reactos/idl/ms-dtyp.idl

[This mail would be too long, it was shortened to contain the URLs only.]

Modified: branches/sspi-bringup/reactos/include/psdk/ntsecapi.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/ntsecapi.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/ntsecpkg.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/ntsecpkg.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/rpcdce.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/rpcdce.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/schannel.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/schannel.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/secext.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/secext.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/security.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/security.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/specstrings.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/specstrings.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/sspi.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/sspi.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/subauth.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/subauth.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/wincred.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/wincred.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/psdk/ws2tcpip.h
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/psdk/ws2tcpip.h?rev=73754=73753=73754=diff

Modified: branches/sspi-bringup/reactos/include/reactos/idl/ms-dtyp.idl
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/include/reactos/idl/ms-dtyp.idl?rev=73754=73753=73754=diff




[ros-diffs] [hbelusca] 73753: Add back ntlmssp and the old code of secur32 that were lost in syncs.

2017-02-07 Thread hbelusca
Author: hbelusca
Date: Wed Feb  8 02:37:58 2017
New Revision: 73753

URL: http://svn.reactos.org/svn/reactos?rev=73753=rev
Log:
Add back ntlmssp and the old code of secur32 that were lost in syncs.

Added:
branches/sspi-bringup/reactos/dll/win32/ntlmssp/   (props changed)
  - copied from r73749, branches/sspi-bringup/reactos/dll/win32/ntlmssp/
branches/sspi-bringup/reactos/dll/win32/secur32/secext.c
  - copied unchanged from r73749, 
branches/sspi-bringup/reactos/dll/win32/secur32/secext.c
branches/sspi-bringup/reactos/dll/win32/secur32/secur32.c
  - copied unchanged from r73749, 
branches/sspi-bringup/reactos/dll/win32/secur32/secur32.c
branches/sspi-bringup/reactos/dll/win32/secur32/sspap.c
  - copied unchanged from r73749, 
branches/sspi-bringup/reactos/dll/win32/secur32/sspap.c
Removed:
branches/sspi-bringup/reactos/dll/win32/secur32/lsalpc.c
Modified:
branches/sspi-bringup/reactos/dll/win32/CMakeLists.txt
branches/sspi-bringup/reactos/dll/win32/secur32/CMakeLists.txt
branches/sspi-bringup/reactos/dll/win32/secur32/dllmain.c   (contents, 
props changed)
branches/sspi-bringup/reactos/dll/win32/secur32/precomp.h
branches/sspi-bringup/reactos/dll/win32/secur32/secur32.rc   (contents, 
props changed)
branches/sspi-bringup/reactos/dll/win32/secur32/secur32.spec
branches/sspi-bringup/reactos/dll/win32/secur32/secur32_priv.h   (contents, 
props changed)
branches/sspi-bringup/reactos/dll/win32/secur32/sspi.c
branches/sspi-bringup/reactos/dll/win32/secur32/stubs.c
branches/sspi-bringup/reactos/dll/win32/secur32/thunks.c   (contents, props 
changed)
branches/sspi-bringup/reactos/dll/win32/secur32/thunks.h   (contents, props 
changed)
branches/sspi-bringup/reactos/dll/win32/secur32/wrapper.c   (contents, 
props changed)

Modified: branches/sspi-bringup/reactos/dll/win32/CMakeLists.txt
URL: 
http://svn.reactos.org/svn/reactos/branches/sspi-bringup/reactos/dll/win32/CMakeLists.txt?rev=73753=73752=73753=diff
==
--- branches/sspi-bringup/reactos/dll/win32/CMakeLists.txt  [iso-8859-1] 
(original)
+++ branches/sspi-bringup/reactos/dll/win32/CMakeLists.txt  [iso-8859-1] 
Wed Feb  8 02:37:58 2017
@@ -138,6 +138,7 @@
 add_subdirectory(npptools)
 add_subdirectory(ntdsapi)
 add_subdirectory(ntlanman)
+add_subdirectory(ntlmssp)
 add_subdirectory(ntmarta)
 add_subdirectory(ntprint)
 add_subdirectory(objsel)

Propchange: branches/sspi-bringup/reactos/dll/win32/ntlmssp/
--
--- bugtraq:logregex(added)
+++ bugtraq:logregexWed Feb  8 02:37:58 2017
@@ -0,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)

Propchange: branches/sspi-bringup/reactos/dll/win32/ntlmssp/
--
bugtraq:message = See issue #%BUGID% for more details.

Propchange: branches/sspi-bringup/reactos/dll/win32/ntlmssp/
--
bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%

Propchange: branches/sspi-bringup/reactos/dll/win32/ntlmssp/
--
--- svn:mergeinfo   (added)
+++ svn:mergeinfo   Wed Feb  8 02:37:58 2017
@@ -0,0 +1,13 @@
+/branches/GSoC_2011/GSoC_Network/dll/win32/ntlmssp:51548
+/branches/GSoC_2011/GSoC_TcpIpDriver/dll/win32/ntlmssp:51550
+/branches/GSoC_2011/TcpIpDriver/dll/win32/ntlmssp:51551-53074,53076-53119
+/branches/GSoC_Network/dll/win32/ntlmssp:51545-51546
+/branches/cmake-bringup/dll/win32/ntlmssp:50484,50693,50719,51544-52564
+/branches/header-work/dll/win32/ntlmssp:45691-47721
+/branches/reactos-yarotows/dll/win32/ntlmssp:45219-46371,46373-48025,48027-49273
+/branches/reactx/reactos/dll/win32/ntlmssp:49994-49995
+/branches/ros-amd64-bringup/dll/win32/ntlmssp:36852

[ros-diffs] [khornicek] 73749: [EVENTVWR] - Attempt to speed up loading and displaying logs in EnumEventsThread: - Rewriting the code fix an infinite loop that could happen under low memory conditions

2017-02-07 Thread khornicek
Author: khornicek
Date: Tue Feb  7 22:33:02 2017
New Revision: 73749

URL: http://svn.reactos.org/svn/reactos?rev=73749=rev
Log:
[EVENTVWR]
- Attempt to speed up loading and displaying logs in EnumEventsThread:
- Rewriting the code fix an infinite loop that could happen under low memory 
conditions (this potentially speeds things up quite a lot).
- Remove ListView subclassing - sorry Hermès but not only it keeps constantly 
redrawing under Windows but also adds too much overhead.
- Don't read the event log records one by one but in chunks of roughly 0x7 
bytes (maximum size allowed).
- Use poor man's "caching" of the event user name (optimizing/caching rest of 
the stuff in the loop didn't yield any significant speed up).

Result: Loading ~4 records under Win7 went from 4.5 minutes to 65 seconds.

Modified:
trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c

Modified: trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c?rev=73749=73748=73749=diff
==
--- trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c
[iso-8859-1] (original)
+++ trunk/reactos/base/applications/mscutils/eventvwr/eventvwr.c
[iso-8859-1] Tue Feb  7 22:33:02 2017
@@ -124,7 +124,6 @@
 
 ATOM MyRegisterClass(HINSTANCE);
 BOOL InitInstance(HINSTANCE, int);
-VOID ExitInstance(HINSTANCE);
 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
 INT_PTR EventLogProperties(HINSTANCE, HWND, PEVENTLOGFILTER);
 INT_PTR CALLBACK EventDetails(HWND, UINT, WPARAM, LPARAM);
@@ -226,8 +225,6 @@
 CloseHandle(hStartEnumEvent);
 if (hStartStopEnumEvent)
 CloseHandle(hStartStopEnumEvent);
-
-ExitInstance(hInstance);
 
 Quit:
 FreeLibrary(hRichEdit);
@@ -1091,9 +1088,10 @@
 if (!Success)
 {
 if (pevlr->EventCategory != 0)
+{
 StringCchPrintfW(CategoryName, MAX_PATH, L"(%lu)", 
pevlr->EventCategory);
-else
-LoadStringW(hInst, IDS_NONE, CategoryName, MAX_PATH);
+Success = TRUE;
+}
 }
 
 return Success;
@@ -1263,18 +1261,30 @@
 
 BOOL
 GetEventUserName(IN PEVENTLOGRECORD pelr,
+ IN OUT PSID pLastSid,
  OUT PWCHAR pszUser) // TODO: Add IN DWORD BufLen
 {
-PSID pSid;
+PSID pCurrentSid;
 PWSTR StringSid;
 WCHAR szName[1024];
 WCHAR szDomain[1024];
 SID_NAME_USE peUse;
 DWORD cchName = ARRAYSIZE(szName);
 DWORD cchDomain = ARRAYSIZE(szDomain);
+BOOL Success;
 
 /* Point to the SID */
-pSid = (PSID)((LPBYTE)pelr + pelr->UserSidOffset);
+pCurrentSid = (PSID)((LPBYTE)pelr + pelr->UserSidOffset);
+
+if (!IsValidSid(pCurrentSid))
+{
+pLastSid = NULL;
+return FALSE;
+}
+else if (pLastSid && EqualSid(pLastSid, pCurrentSid))
+{
+return TRUE;
+}
 
 /* User SID */
 if (pelr->UserSidLength > 0)
@@ -1286,7 +1296,7 @@
  * 'pszUser', otherwise we return an error.
  */
 if (LookupAccountSidW(NULL, // FIXME: Use computer name? From the 
particular event?
-  pSid,
+  pCurrentSid,
   szName,
   ,
   szDomain,
@@ -1294,13 +1304,11 @@
   ))
 {
 StringCchCopyW(pszUser, MAX_PATH, szName);
-return TRUE;
-}
-else if (ConvertSidToStringSidW(pSid, ))
-{
-BOOL Success;
-
-/* Copy the string only if the user-provided buffer is small 
enough */
+Success = TRUE;
+}
+else if (ConvertSidToStringSidW(pCurrentSid, ))
+{
+/* Copy the string only if the user-provided buffer is big enough 
*/
 if (wcslen(StringSid) + 1 <= MAX_PATH) // + 1 for NULL-terminator
 {
 StringCchCopyW(pszUser, MAX_PATH, StringSid);
@@ -1314,12 +1322,12 @@
 
 /* Free the allocated buffer */
 LocalFree(StringSid);
-
-return Success;
-}
-}
-
-return FALSE;
+}
+}
+
+pLastSid = Success ? pCurrentSid : NULL;
+
+return Success;
 }
 
 
@@ -1422,14 +1430,18 @@
 
 ULONG LogIndex;
 HANDLE hEventLog;
-PEVENTLOGRECORD pevlr, pevlrTmp = NULL;
-DWORD dwRead, dwNeeded; // , dwThisRecord;
+PEVENTLOGRECORD pEvlr;
+PBYTE pEvlrEnd;
+PBYTE pEvlrBuffer;
+DWORD dwWanted, dwRead, dwNeeded, dwStatus = ERROR_SUCCESS;
 DWORD dwTotalRecords = 0, dwCurrentRecord = 0;
 DWORD dwFlags, dwMaxLength;
 size_t cchRemaining;
 LPWSTR lpszSourceName;
 LPWSTR lpszComputerName;
 BOOL bResult = TRUE; /* Read succeeded */
+HANDLE hProcessHeap = GetProcessHeap();
+PSID pLastSid = NULL;
 
 UINT uStep = 0, 

[ros-diffs] [mjansen] 73748: [KERNEL32] Silence some noise during process creation.

2017-02-07 Thread mjansen
Author: mjansen
Date: Tue Feb  7 16:45:50 2017
New Revision: 73748

URL: http://svn.reactos.org/svn/reactos?rev=73748=rev
Log:
[KERNEL32] Silence some noise during process creation.

Modified:
trunk/reactos/dll/win32/kernel32/client/appcache.c
trunk/reactos/dll/win32/kernel32/client/utils.c

Modified: trunk/reactos/dll/win32/kernel32/client/appcache.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/appcache.c?rev=73748=73747=73748=diff
==
--- trunk/reactos/dll/win32/kernel32/client/appcache.c  [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/client/appcache.c  [iso-8859-1] Tue Feb  7 
16:45:50 2017
@@ -133,7 +133,8 @@
 IN PWCHAR Environment,
 OUT PULONG Reason)
 {
-UNIMPLEMENTED;
+DPRINT("BaseCheckAppcompatCache is UNIMPLEMENTED\n");
+
 if (Reason) *Reason = 0;
 return TRUE;
 }

Modified: trunk/reactos/dll/win32/kernel32/client/utils.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/utils.c?rev=73748=73747=73748=diff
==
--- trunk/reactos/dll/win32/kernel32/client/utils.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/kernel32/client/utils.c [iso-8859-1] Tue Feb  7 
16:45:50 2017
@@ -942,7 +942,7 @@
 if ((InJob) && (NewToken) && (JobHandle))
 {
 /* Do the work (one day...) */
-UNIMPLEMENTED;
+DPRINT("BasepCheckWinSaferRestrictions is UNIMPLEMENTED\n");
 Status = STATUS_SUCCESS;
 }
 else




[ros-diffs] [gadamopoulos] 73747: [USER32_APITEST]: Add more tests for RegisterClassEx.

2017-02-07 Thread gadamopoulos
Author: gadamopoulos
Date: Tue Feb  7 12:11:26 2017
New Revision: 73747

URL: http://svn.reactos.org/svn/reactos?rev=73747=rev
Log:
[USER32_APITEST]: Add more tests for RegisterClassEx.

Modified:
trunk/rostests/apitests/user32/RegisterClassEx.c

Modified: trunk/rostests/apitests/user32/RegisterClassEx.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/user32/RegisterClassEx.c?rev=73747=73746=73747=diff
==
--- trunk/rostests/apitests/user32/RegisterClassEx.c[iso-8859-1] (original)
+++ trunk/rostests/apitests/user32/RegisterClassEx.c[iso-8859-1] Tue Feb  7 
12:11:26 2017
@@ -116,8 +116,14 @@
 a = _GetClassAtom(L"ScrollBar", hmod);
 UnregisterClass(L"ScrollBar", hmod);
 b = _GetClassAtom(L"ScrollBar", hmod);
-ok( a != 0, "\n");
-ok( b == 0, "\n");
+c = _RegisterClass(L"ScrollBar", hmod, CS_GLOBALCLASS, DefWindowProcW);
+d = _GetClassAtom(L"ScrollBar", hmod);
+ok( a != 0, "\n");
+ok( b == 0, "\n");
+ok( c != 0, "\n");
+ok( d != 0, "\n");
+ok( a == c, "\n");
+ok( a == d, "\n"); /* In Windows 10 the last 4 tests fail */
 
 a = _GetClassAtom(L"ListBox", (HMODULE)0xdead);
 UnregisterClass(L"ListBox", (HMODULE)0xdead);
@@ -142,7 +148,7 @@
 HANDLE h1, h2;
 ULONG_PTR cookie1;
 ATOM a,b,c;
-WNDPROC proc1,proc2,proc3, proc4;
+WNDPROC proc1,proc2,proc3, proc4, proc5;
 
 h1 = _CreateActCtxFromFile(L"verclasstest1.manifest");
 h2 = _CreateActCtxFromFile(L"verclasstest2.manifest");
@@ -159,8 +165,9 @@
 proc2 = _GetWndproc(L"VersionTestClass1", hmod);
 c = _RegisterClass(L"VersionTestClass1", hmod, 0, DefWindowProcW);
 proc3 = _GetWndproc(L"VersionTestClass1", hmod);
+proc4 = _GetWndproc((LPCWSTR)(DWORD_PTR)a, hmod);
 DeactivateActCtx(0, cookie1);
-proc4 = _GetWndproc(L"VersionTestClass1", hmod);
+proc5 = _GetWndproc(L"VersionTestClass1", hmod);
 ok( a != 0, "\n");
 ok( b == 0, "\n");
 ok( c != 0, "\n");
@@ -168,7 +175,8 @@
 ok (proc1 == DefWindowProcA, "\n");
 ok (proc2 == NULL, "\n");
 ok (proc3 == DefWindowProcW, "\n");
-ok (proc4 == DefWindowProcA, "\n");
+ok (proc4 == DefWindowProcW, "\n");
+ok (proc5 == DefWindowProcA, "\n");
 
 a = _GetClassAtom(L"Button", hmod);
 b = _RegisterClass(L"Button", hmod, CS_GLOBALCLASS, DefWindowProcA);
@@ -181,9 +189,20 @@
 ok( c != 0, "\n");
 ok( a == c, "\n");
 ok( proc1 != NULL, "\n");
-ok( proc2 != NULL, "\n");
 ok( proc1 != proc2, "\n");
 ok( proc2 == DefWindowProcA, "\n");
+
+a = _RegisterClass(L"VersionTestClass2", hmod, CS_GLOBALCLASS, 
DefWindowProcW);
+proc1 = _GetWndproc(L"VersionTestClass2", (HMODULE)0xdead);
+b = _RegisterClass(L"VersionTestClass2", hmod, 0, DefWindowProcA);
+proc2 = _GetWndproc(L"VersionTestClass2", hmod);
+ok (a != 0, "\n");
+ok (b != 0, "\n");
+ok (a == b, "\n");
+ok (proc1 == DefWindowProcW, "\n");
+ok (proc2 == DefWindowProcA, "\n");
+
+
 }
 
 START_TEST(RegisterClassEx)




[ros-diffs] [mjansen] 73746: [GDI32_APITEST] Add tests for font creation. Patch by Katayama Hirofumi MZ. CORE-6621

2017-02-07 Thread mjansen
Author: mjansen
Date: Tue Feb  7 11:37:36 2017
New Revision: 73746

URL: http://svn.reactos.org/svn/reactos?rev=73746=rev
Log:
[GDI32_APITEST] Add tests for font creation. Patch by Katayama Hirofumi MZ. 
CORE-6621

Modified:
trunk/rostests/apitests/gdi32/CreateFontIndirect.c

Modified: trunk/rostests/apitests/gdi32/CreateFontIndirect.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/gdi32/CreateFontIndirect.c?rev=73746=73745=73746=diff
==
--- trunk/rostests/apitests/gdi32/CreateFontIndirect.c  [iso-8859-1] (original)
+++ trunk/rostests/apitests/gdi32/CreateFontIndirect.c  [iso-8859-1] Tue Feb  7 
11:37:36 2017
@@ -3,11 +3,13 @@
  * LICENSE: GPL - See COPYING in the top level directory
  * PURPOSE: Test for CreateFontIndirect
  * PROGRAMMERS: Timo Kreuzer
+ *  Katayama Hirofumi MZ
  */
 
 #include 
-
 #include 
+
+#define trace_if(val, msg) do { if (!(val)) trace(msg); } while (0)
 
 void
 Test_CreateFontIndirectA(void)
@@ -167,6 +169,588 @@
 ok(elfedva.elfEnumLogfontEx.elfFullName[LF_FULLFACESIZE-1] == 0, "\n");
 }
 
+static INT CALLBACK
+is_truetype_font_proc(const LOGFONTA *elf, const TEXTMETRICA *ntm,
+  DWORD type, LPARAM lParam)
+{
+if (type != TRUETYPE_FONTTYPE) return 1;
+
+return 0;
+}
+
+static BOOL is_truetype_font_installed(HDC hDC, const char *name)
+{
+if (!EnumFontFamiliesA(hDC, name, is_truetype_font_proc, 0))
+return TRUE;
+return FALSE;
+}
+
+static INT CALLBACK
+is_charset_font_proc(const LOGFONTA *elf, const TEXTMETRICA *ntm,
+   DWORD type, LPARAM lParam)
+{
+if (ntm->tmCharSet == (BYTE)lParam)
+return 0;
+return 1;
+}
+
+static BOOL is_charset_font_installed(HDC hDC, BYTE CharSet)
+{
+if (!EnumFontFamiliesA(hDC, NULL, is_charset_font_proc, CharSet))
+return TRUE;
+return FALSE;
+}
+
+/* TMPF_FIXED_PITCH is confusing. brain-damaged api */
+#define _TMPF_VAR_PITCH TMPF_FIXED_PITCH
+
+static INT CALLBACK
+is_fixed_charset_font_proc(const LOGFONTA *elf, const TEXTMETRICA *ntm,
+ DWORD type, LPARAM lParam)
+{
+if (ntm->tmCharSet == (BYTE)lParam && !(ntm->tmPitchAndFamily & 
_TMPF_VAR_PITCH))
+return 0;
+return 1;
+}
+
+static BOOL
+is_fixed_charset_font_installed(HDC hDC, BYTE CharSet)
+{
+if (!EnumFontFamiliesA(hDC, NULL, is_fixed_charset_font_proc, CharSet))
+return TRUE;
+return FALSE;
+}
+
+static void
+Test_FontPresence(void)
+{
+HDC hDC;
+
+hDC = CreateCompatibleDC(NULL);
+
+ok(is_truetype_font_installed(hDC, "Arial"), "'Arial' is not found\n");
+ok(is_truetype_font_installed(hDC, "Courier New"), "'Courier New' is not 
found\n");
+ok(is_truetype_font_installed(hDC, "Marlett"), "'Marlett' is not found\n");
+ok(is_truetype_font_installed(hDC, "MS Shell Dlg"), "'MS Shell Dlg' is not 
found\n");
+ok(is_truetype_font_installed(hDC, "Tahoma"), "'Tahoma' is not found\n");
+ok(is_truetype_font_installed(hDC, "Times New Roman"), "'Times New Roman' 
is not found\n");
+
+ok(is_charset_font_installed(hDC, ANSI_CHARSET), "ANSI_CHARSET fonts are 
not found\n");
+ok(is_charset_font_installed(hDC, SYMBOL_CHARSET), "SYMBOL_CHARSET fonts 
are not found\n");
+trace_if(is_charset_font_installed(hDC, SHIFTJIS_CHARSET), 
"SHIFTJIS_CHARSET fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, HANGUL_CHARSET), "HANGUL_CHARSET 
fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, GB2312_CHARSET), "GB2312_CHARSET 
fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, CHINESEBIG5_CHARSET), 
"CHINESEBIG5_CHARSET fonts are not found\n");
+ok(is_charset_font_installed(hDC, OEM_CHARSET), "OEM_CHARSET fonts are not 
found\n");
+trace_if(is_charset_font_installed(hDC, JOHAB_CHARSET), "JOHAB_CHARSET 
fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, HEBREW_CHARSET), "HEBREW_CHARSET 
fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, ARABIC_CHARSET), "ARABIC_CHARSET 
fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, GREEK_CHARSET), "GREEK_CHARSET 
fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, TURKISH_CHARSET), "TURKISH_CHARSET 
fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, VIETNAMESE_CHARSET), 
"VIETNAMESE_CHARSET fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, THAI_CHARSET), "THAI_CHARSET fonts 
are not found\n");
+trace_if(is_charset_font_installed(hDC, EASTEUROPE_CHARSET), 
"EASTEUROPE_CHARSET fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, RUSSIAN_CHARSET), "RUSSIAN_CHARSET 
fonts are not found\n");
+trace_if(is_charset_font_installed(hDC, MAC_CHARSET), "MAC_CHARSET fonts 
are not found\n");
+trace_if(is_charset_font_installed(hDC, BALTIC_CHARSET), 

[ros-diffs] [mjansen] 73745: [CRT_APITEST] Add additional test for __getmainargs

2017-02-07 Thread mjansen
Author: mjansen
Date: Tue Feb  7 10:35:35 2017
New Revision: 73745

URL: http://svn.reactos.org/svn/reactos?rev=73745=rev
Log:
[CRT_APITEST] Add additional test for __getmainargs

Modified:
trunk/rostests/apitests/crt/__getmainargs.c

Modified: trunk/rostests/apitests/crt/__getmainargs.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/crt/__getmainargs.c?rev=73745=73744=73745=diff
==
--- trunk/rostests/apitests/crt/__getmainargs.c [iso-8859-1] (original)
+++ trunk/rostests/apitests/crt/__getmainargs.c [iso-8859-1] Tue Feb  7 
10:35:35 2017
@@ -28,6 +28,7 @@
 ok_argsA_imp(const char* input_args, const char* arg1, const char* arg2, const 
char* arg3)
 {
 int argc = 0, mode = 0;
+int expect_count = arg3 == NULL ? (arg2 == NULL ? 2 : 3) : 4;
 char** argv, **env;
 
 /* Remove cached argv, setup our input as program argument. */
@@ -37,20 +38,25 @@
 /* Process the commandline stored in _acmdln */
 __getmainargs(, , , 0, );
 
-winetest_ok(argc == 4, "Wrong value for argc, expected: 4, got: %d\n", 
argc);
-if(argc != 4)
+winetest_ok(argc == expect_count, "Wrong value for argc, expected: %d, 
got: %d\n", expect_count, argc);
+if(argc != expect_count)
 return;
 
 winetest_ok_str(argv[0], "test.exe");
 winetest_ok_str(argv[1], arg1);
-winetest_ok_str(argv[2], arg2);
-winetest_ok_str(argv[3], arg3);
+if (expect_count > 2)
+{
+winetest_ok_str(argv[2], arg2);
+if (expect_count > 3)
+winetest_ok_str(argv[3], arg3);
+}
 }
 
 void
 ok_argsW_imp(const wchar_t* input_args, const wchar_t* arg1, const wchar_t* 
arg2, const wchar_t* arg3)
 {
 int argc = 0, mode = 0;
+int expect_count = arg3 == NULL ? (arg2 == NULL ? 2 : 3) : 4;
 wchar_t** argv, **env;
 
 /* Remove cached wargv, setup our input as program argument. */
@@ -60,14 +66,18 @@
 /* Process the commandline stored in _wcmdln */
 __wgetmainargs(, , , 0, );
 
-winetest_ok(argc == 4, "Wrong value for argc, expected: 4, got: %d\n", 
argc);
-if(argc != 4)
+winetest_ok(argc == expect_count, "Wrong value for argc, expected: %d, 
got: %d\n", expect_count, argc);
+if(argc != expect_count)
 return;
 
 winetest_ok_wstr(argv[0], L"test.exe");
 winetest_ok_wstr(argv[1], arg1);
-winetest_ok_wstr(argv[2], arg2);
-winetest_ok_wstr(argv[3], arg3);
+if (expect_count > 2)
+{
+winetest_ok_wstr(argv[2], arg2);
+if (expect_count > 3)
+winetest_ok_wstr(argv[3], arg3);
+}
 }
 
 START_TEST(__getmainargs)
@@ -85,6 +95,7 @@
 ok_argsA("test.exe a  \"b\\  \"\"\"  c\" d", "a", "b\\  \"  c", "d");
 ok_argsA("test.exe a  \"b\\  \"\"\"  \"c  \"\"\"\" d", "a", "b\\  \"  c", 
"\" d");
 ok_argsA("test.exe a b c  ", "a", "b", "c");
+ok_argsA("test.exe \"a b c\"", "a b c", NULL, NULL);
 
 ok_argsW(L"test.exe \"a b c\" d e", L"a b c", L"d", L"e");
 ok_argsW(L"test.exe \"ab\\\"c\" \"\" d", L"ab\"c", L"\\", L"d");
@@ -99,4 +110,5 @@
 ok_argsW(L"test.exe a  \"b\\  \"\"\"  c\" d", L"a", L"b\\  \"  c", L"d");
 ok_argsW(L"test.exe a  \"b\\  \"\"\"  \"c  \"\"\"\" d", L"a", L"b\\  \"  
c", L"\" d");
 ok_argsW(L"test.exe a b c  ", L"a", L"b", L"c");
+ok_argsW(L"test.exe \"a b c\"", L"a b c", NULL, NULL);
 }




[ros-diffs] [mjansen] 73744: [WIN32SS] Mute a major spammer in AHK tests.

2017-02-07 Thread mjansen
Author: mjansen
Date: Tue Feb  7 10:33:42 2017
New Revision: 73744

URL: http://svn.reactos.org/svn/reactos?rev=73744=rev
Log:
[WIN32SS] Mute a major spammer in AHK tests.

Modified:
trunk/reactos/win32ss/gdi/ntgdi/palette.c

Modified: trunk/reactos/win32ss/gdi/ntgdi/palette.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/palette.c?rev=73744=73743=73744=diff
==
--- trunk/reactos/win32ss/gdi/ntgdi/palette.c   [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/ntgdi/palette.c   [iso-8859-1] Tue Feb  7 
10:33:42 2017
@@ -745,7 +745,12 @@
 
 if (pdc->dctype == DCTYPE_DIRECT)
 {
-UNIMPLEMENTED;
+static BOOL g_WarnedOnce = FALSE;
+if (!g_WarnedOnce)
+{
+g_WarnedOnce = TRUE;
+UNIMPLEMENTED;
+}
 goto cleanup;
 }
 




[ros-diffs] [mjansen] 73743: [BOOTLIB] Additional EfiPrintf conversion like r73736 for MSVC 2013

2017-02-07 Thread mjansen
Author: mjansen
Date: Tue Feb  7 10:32:20 2017
New Revision: 73743

URL: http://svn.reactos.org/svn/reactos?rev=73743=rev
Log:
[BOOTLIB] Additional EfiPrintf conversion like r73736 for MSVC 2013

Modified:
trunk/reactos/boot/environ/lib/mm/i386/mmx86.c

Modified: trunk/reactos/boot/environ/lib/mm/i386/mmx86.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/environ/lib/mm/i386/mmx86.c?rev=73743=73742=73743=diff
==
--- trunk/reactos/boot/environ/lib/mm/i386/mmx86.c  [iso-8859-1] (original)
+++ trunk/reactos/boot/environ/lib/mm/i386/mmx86.c  [iso-8859-1] Tue Feb  7 
10:32:20 2017
@@ -507,10 +507,8 @@
 }
 
 /* We don't support virtual memory yet @TODO */
-#ifdef _MSC_VER // Fuck gcc.
-EfiPrintf(L"not yet implemented in " __FUNCTION__ "\r\n");
+EfiPrintf(L"not yet implemented in %S\r\n", __FUNCTION__);
 EfiStall(100);
-#endif
 return STATUS_NOT_IMPLEMENTED;
 }