Commit Graph

3463 Commits

Author SHA1 Message Date
Zebediah Figura c7019a8887 kernelbase: Implement ReOpenFile().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47668
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 19:33:06 +01:00
Alexandre Julliard f17a228d45 unicode: Try harder to reuse subsequences when compressing data arrays.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 19:26:13 +01:00
Roman Pišl b53e466794 kernelbase: Implement GetThreadIdealProcessorEx stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48313
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 16:47:52 +01:00
Evan Tang 4e9dae3776 kernel32/lzexpand: Fix uninitialized read in read_header.
read_header calls _lread which can either return the number of characters read
or HFILE_ERROR (-1), cast to a UINT.

Signed-off-by: Evan Tang <etang110@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 16:29:39 +01:00
Vladimir Panteleev b0acb5982a kernel32/tests: Fix GetLastError() checks in environment tests.
Lack of SetLastError() calls caused tests to compare stale errors,
instead of the effects of the tested (immediately previously called)
functions.

Add SetLastError calls, and fix a broken test (copy check from A to W
tests).

Signed-off-by: Vladimir Panteleev <git@vladimir.panteleev.md>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 22:41:29 +01:00
Alexandre Julliard 4b5c67ee0b unicode: Remove case mappings that don't round-trip.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-23 21:11:29 +01:00
Zhiyi Zhang e41547c548 ntdll: Fix some Rtl* functions having wrong calling convention.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-16 12:21:11 +01:00
Jacek Caban 9b44422a49 kernel32/tests: Skip instruction pointer check of the last exception in exception race tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-14 19:05:06 +01:00
Alexandre Julliard 21876b998c kernel32: Catch stack overflow faults in IsBad*Ptr() functions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48444
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-13 19:41:02 +01:00
Nikolay Sivov 47c691a27c kernel32: Fix spec entries for GetLongPathName().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-07 22:26:08 +01:00
Nikolay Sivov 05061846c1 kernel32/tests: Remove GetLongPathName() workarounds.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-07 22:26:08 +01:00
Alexandre Julliard d6022964cb kernel32/tests: Remove some workarounds for old Windows versions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-06 19:28:45 +01:00
Zebediah Figura f692d9e7bc kernel32/tests: Fix some codepage test failures with Windows 10.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-05 17:34:22 +01:00
Jacek Caban 1d556188a7 kernel32/tests: Avoid function pointers for functions present since XP.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Jacek Caban 79d58362c7 kernel32/tests: Don't use blackbox for crashing process.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Jacek Caban f4e232430b kernel32/tests: Use WAIT_EVENT_TIMEOUT in wait_for_breakpoint.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-03 21:40:59 +01:00
Jacek Caban 313fc40a97 kernel32/tests: Get rid of no longer needed win9x checks.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-02 17:40:39 +01:00
Zebediah Figura 741b8f9504 kernel32/tests: Fix a test failure on Windows 10.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-01 19:15:37 +01:00
Zebediah Figura 7a61bbaa6f kernel32: Exclude IsBadStringPtrA() from relay traces.
It messes up 16-bit relay traces due to krnl386's use of debugstr_a().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-01 19:15:25 +01:00
Louis Lenders 1f626b5e1f kernel32: Update version to win7.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48304
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-19 16:20:39 +01:00
Alexandre Julliard c8f3383696 include: Allow using debug.h in tests.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-17 16:55:15 +01:00
Chip Davis 27b9f6f609 kernel32: Forward OpenProcessToken() to kernelbase.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-16 19:22:26 +01:00
Chip Davis 8834f12329 kernel32: Forward OpenThreadToken() to kernelbase.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-16 19:22:26 +01:00
Akihiro Sagawa a85bc781d3 kernelbase: Use translated Unicode default char to check invalid chars.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48288
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-16 18:45:01 +01:00
Akihiro Sagawa 3bb92d7773 kernel32/tests: Refactor MB_ERR_INVALID_CHARS tests.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-16 18:44:59 +01:00
André Hentschel 9367475f28 kernel32: Fix some spec file entries.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-16 18:44:57 +01:00
Alexandre Julliard 8b0a7b2503 ntdll: Fix RtlQueryUnbiasedInterruptTime() prototype.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48239
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-16 18:44:57 +01:00
Alexandre Julliard 4ac3cbd6cc kernel32: Duplicate OutputDebugStringA implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48059
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-16 12:00:36 +01:00
Paul Gofman 3a47598bb3 kernel32/tests: Test invalid parent handle in test_parent_process_attribute().
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 13:16:00 +01:00
Paul Gofman 74a74556dd server: Support creating processes with specified parent.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47817
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 13:13:36 +01:00
Alexandre Julliard 4cb8497c8f kernel32: Disable relay trace for __wine_start_process().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48273
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 08:37:36 +01:00
Alexandre Julliard f2e5b80707 kernel32: Use the Get/SetComputerName functions from kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:05 +01:00
Alexandre Julliard 207c558003 kernelbase: Move some console support back to kernel32.
That's where the bulk of the console code still resides.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:16:40 +01:00
Alexandre Julliard 4118697829 server: Support passing a handle to get_console_wait_event.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:16:40 +01:00
Alexandre Julliard f88404bfb0 kernel32: Remove heap function replacements.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 22:46:19 +01:00
Alexandre Julliard 9b0877db4a kernel32: Move FindFirst/NextFile functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Louis Lenders 626162f7db kernel32: Return S_OK in RegisterApplicationRecoveryCallback stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43817
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 22:15:05 +01:00
Alexandre Julliard 89500484c2 kernel32: Move timezone functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Alexandre Julliard 30e5f1215e kernel32: Remove __wine_kernel_init().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 18:24:32 +01:00
Alexandre Julliard eeb8eddfa2 kernel32: Move GeoID functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Alexandre Julliard 098e71ad61 kernel32: Move the CompareString functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Alexandre Julliard 94a3add0ea kernel32: Move LCMapString functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Alexandre Julliard 1b46da5c05 kernel32: Move GetStringType functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Francois Gouget 7eb54616ff kernel32/tests: Trace LastError when GetPhysicallyInstalledSystemMemory() fails.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Mathew Hodson df94a9a450 kernel32/tests: Add broken result for Windows XP and 2003.
Signed-off-by: Mathew Hodson <mathew.hodson@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Mathew Hodson 356513ef2d kernel32/tests: Trace the mapped string when FoldStringW fails.
Signed-off-by: Mathew Hodson <mathew.hodson@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Nikolay Sivov 624ed18b1f Update to Unicode 12.1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Alexandre Julliard 6bcda47419 kernel32: Move Get/SetLocaleInfoW() to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Alexandre Julliard 830de63139 kernel32: Use MultiByteToWideChar() and WideCharToMultiByte() from kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 15:30:03 +01:00
Alexandre Julliard a2c107fca3 kernel32: Remove initialization of the global argv.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 15:30:03 +01:00
Jeff Smith 7cbabed51f kernel32/tests: Allow for differing fpu_cw returned on Windows XP.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:23 +01:00
Alexandre Julliard 117dbfa2cf ntdll: Fix DBCS mappings in RtlCustomCPToUnicodeN().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 19:50:06 +01:00
Piotr Caban 7ca1c4900e kernel32: Set all %eax bits on Wow64EnableWow64FsRedirection return.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47565
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Paul Gofman 52d8ea3aa8 kernel32/tests: Add a basic test for PROC_THREAD_ATTRIBUTE_PARENT_PROCESS process creation attribute.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Alexandre Julliard 331947c993 kernel32: Move some initialization code to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:03:48 +01:00
Alexandre Julliard 74eaa34147 kernel32: Initialize argv from the dll entry point.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:03:48 +01:00
Alexandre Julliard d33504b9bb kernel32: Use the Rtl UTF8 conversion functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:03:48 +01:00
João Diogo Ferreira a31dec5fa9 kernel32: Make GetUserGeoID() always succeed if geoclass is valid.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46196
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 09:37:43 +01:00
João Diogo Ferreira c93aa1095e kernel32: Properly handle GEO_NATION and GEO_ID in GetGeoInfoW().
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 09:36:44 +01:00
Nikolay Sivov 7082ebc608 ntdll: Use better type for thread description info structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 21:27:14 +01:00
Alexandre Julliard bba33e5391 ntdll: Get rid of __wine_init_codepages().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 09:30:43 +01:00
Alexandre Julliard 9e8db5a27a kernel32: Fix assumptions about 0-size output buffer in ntdll Unicode conversion functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 09:30:43 +01:00
Andrey Gusev a9bf1ad81e kernel32/tests: Reorder the WINAPI with the void.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 22:02:56 +01:00
Zebediah Figura 216530f230 kernelbase: Implement GetOverlappedResultEx().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38830
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 08:26:30 +01:00
Chip Davis 289d456dd6 ntdll: Fix tick count calculation on Mac.
Inspired by a patch by Andrew Eikum.

macOS's mach_absolute_time() stops counting when the computer goes to
sleep/suspend/hibernate/etc. However, Windows's GetTickCount() does not
stop counting. mach_continuous_time() matches Windows's behavior.

BSD's CLOCK_MONOTONIC already counts asleep time.

Unfortunately, there is no clock source on Linux which does exactly what
we want. CLOCK_MONOTONIC_RAW is unaffected by NTP adjustment, but like
mach_absolute_time() doesn't keep ticking when the computer is asleep.
CLOCK_BOOTTIME does keep ticking, but it is affected by NTP adjustments.
CLOCK_MONOTONIC has both problems. What's needed is a
CLOCK_BOOTTIME_RAW, which would not be slewed by adjtimex(2) and would
count time spent asleep.

To avoid issues with skew and performance, this patch falls back to
mach_absolute_time() on macOS if mach_continuous_time() is unavailable.
Note that mach_continuous_time() was introduced in macOS 10.12, meaning
that if the minimum version required is less than that, it will be
linked weakly. Therefore we must check that it is nonnull before
attempting to call it.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 20:45:46 +01:00
Alexandre Julliard 7bb286ad9d kernel32: Move FoldStringW() function to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 09:05:13 +01:00
Alexandre Julliard e89bbd5244 kernel32: Reimplement FoldStringW() to support composition.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 09:04:33 +01:00
Gijs Vermeulen 22c2ce2fa6 kernel32: Remove unused function.
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 22:05:15 +01:00
Alexandre Julliard 03deff4e0d kernel32: Move codepage functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 17:04:44 +01:00
Alexandre Julliard 4901386892 kernel32/tests: Add tests for NtGetNlsSectionPtr() and RtlInitCodePageTable().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 22:49:03 +01:00
Nikolay Sivov 179cd78f82 kernel32: Implement higher level API to access thread description.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 16:33:55 +01:00
Mathew Hodson 2fec865945 kernel32: Remove dead code.
Signed-off-by: Mathew Hodson <mathew.hodson@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 15:38:32 +01:00
Chip Davis 19549d11a7 mountmgr: Populate HKLM\HARDWARE\DEVICEMAP\Scsi here instead of in kernel32.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 21:56:23 +01:00
Gijs Vermeulen a507126ac4 kernel32/tests: Add GetCurrentConsoleFontEx tests.
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Gijs Vermeulen ec810c84ab kernel32: Implement GetCurrentConsoleFontEx.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47620
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Nikolay Sivov 602eb52ce9 kernel32/tests: Add some tests for thread description API.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Myah Caron 1658d5a20d kernel32: Allow NtQueryDirectoryFile underfilling FileInformation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47832
Signed-off-by: Myah Caron <qsniyg@mail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Alexandre Julliard 69d0381b5a kernel32: Avoid forwarding to advapi32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-23 11:26:52 +01:00
Nikolay Sivov f2e0a145ba kernel32: Use RegLoadMUIStringW() from kernelbase.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-22 13:38:52 +01:00
Francois Gouget af638bc117 kernel32/tests: Fix the lcid and expected value in a codepage ok() call.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 21:00:59 +01:00
Francois Gouget fb037132fd kernel32/tests: Remove an unused assignment in the comm test.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 19:01:10 +01:00
Alexandre Julliard 2cbb6f8d34 kernel32: Move some locale functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 13:20:23 +01:00
Alexandre Julliard fd588a22b7 kernel32: Move string normalization functions to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 10:43:46 +01:00
John Chadwick 9021cca65d kernelbase: Fix GetSystemFirmwareTable regression.
Regression caused by 71aba33fc6.

Signed-off-by: John Chadwick <john@jchw.io>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
John Chadwick 2acbe4f096 kernel32/tests: Add test for GetSystemFirmwareTable.
This adds a test to ensure that a typical usage of
GetSystemFirmwareTable with a preflight call works correctly.

Signed-off-by: John Chadwick <john@jchw.io>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Alexandre Julliard 35ea9cd99a kernel32: Move the locale registry setup to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Alexandre Julliard ed09f37cef kernel32: Get the initial locales from ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 22:45:58 +01:00
Alexandre Julliard f1bfd2c0b1 ntdll: Initialize the system and user locales directly in ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 16:25:16 +01:00
João Diogo Ferreira 2a03c0958b kernel32: Handle GEOCLASS_ALL in EnumSystemGeoID().
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-19 23:15:04 +01:00
Alexandre Julliard e8ef4c0f53 kernel32/tests: Get rid of Unicode helper functions. 2019-11-19 23:15:04 +01:00
Alexandre Julliard 9f0983ddfc kernel32: Use RtlLocaleNameToLcid(). 2019-11-19 23:15:04 +01:00
Alexandre Julliard 7ac7a902c8 ntdll: Implement RtlLocaleNameToLcid().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-19 23:15:04 +01:00
Alexandre Julliard 4b1a8d6361 kernel32: Add more special cases in ConvertDefaultLocale(). 2019-11-19 23:15:04 +01:00
Alexandre Julliard 71aba33fc6 kernel32: Move system information functions to kernelbase. 2019-11-19 23:15:04 +01:00
Alexandre Julliard b73cfa72ed kernel32: Move physical memory status functions to kernelbase. 2019-11-19 23:15:04 +01:00
João Diogo Ferreira 92d908c038 kernel32/nls: Add LOCALE_IGEOID to all locales.
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 22:15:20 +01:00
João Diogo Ferreira d353c96e83 kernel32: Add Kosovo, UN codes and change two parents in geoinfodata.
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 20:01:17 +01:00
João Diogo Ferreira c790422daa kernel32: Fix null pointer access in GetGeoInfoW().
We were failing the conditional that would point «str» to «buffW»
when retrieving the GEO_ISO_UN_NUMBER of a location with UN code 0.

Some locations will keep having no UN code, such as Guantanamo Bay or
Johnston Atoll, since that's how those are defined in Windows.

Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 20:01:17 +01:00
Alexandre Julliard ab6970d9b0 kernel32: Move Get/SetCalendarInfo to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 19:12:13 +01:00
Alexandre Julliard 42ed9797b1 kernel32: Move EnumCalendarInfo functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 19:12:13 +01:00
Alexandre Julliard 50d15730df kernel32: Move EnumTimeFormats functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-16 20:11:21 +01:00
Alexandre Julliard 02d9ccb3c3 kernel32: Move EnumDateFormats functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-16 20:08:58 +01:00
Francois Gouget da238dc1d1 kernel32: Match the Windows 10 1709+ SetConsoleFont() implementation.
That is return the same 'E_NOTIMPL' error code.
Remove the todo_wine-s but keep the tests in case we want to implement
the API for compatibility with old Windows versions.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 09:40:36 +01:00
Francois Gouget ba4cfbd448 kernel32/tests: Windows 10 dropped support for SetConsoleFont().
Windows 10 1507 still supports it but not 1607+.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 09:40:33 +01:00
Alexandre Julliard dcdfe02a72 kernel32: Get rid of LOCALE_IDEFAULTUNIXCODEPAGE.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 13:47:45 +01:00
Alexandre Julliard 712ae337fe kernel32: Move CreateProcess() functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard 4405195b3c kernel32: Move GetSystemWow64Directory() functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard eee3a4e84a kernel32: Move support for starting Unix processes to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard 1deefb84ee kernel32: Use RtlCreateUserProcess() to start new processes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
João Diogo Ferreira c2485bb12e kernel32: Handle GEOCLASS_REGION in Get/SetUserGeoID().
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
João Diogo Ferreira dd505fab26 kernel32: Move Get/SetUserGeoID() to after the geoinfo struct.
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard 83e520f556 kernel32: Move exec process functionality to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 22:58:00 +01:00
Alexandre Julliard 8c4a1cc792 server: Get rid of the unused file parameter in exec_process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:02:36 +01:00
Francois Gouget 31046449e6 kernel32: Match the Windows 10 1709+ GetConsoleFontInfo().
That is return the same 'E_NOTIMPL' error code.
Remove the todo_wine-s but keep the tests in case we want to implement
the API for compatibility with older Windows versions.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 18:19:17 +01:00
Francois Gouget 2f30f28b04 kernel32/tests: Windows 10 dropped support for GetConsoleFontInfo().
Windows 10 1507 still supports it but not 1607+.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 18:19:17 +01:00
Conor McCarthy b4684bc561 kernelbase: Add stub for SetThreadDescription().
Used by Hitman 2.

Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 21:53:15 +01:00
Paul Gofman 4907f2626c kernel32: Output a message in GetVolumeInformationW() when device has no read access.
A lot of applications fail to install from CDs or mounted ISO images when Wine does
not return correct volume label from GetVolumeInformation() repeatedly asking to
insert correct disk. Most of the time it happens because the block device is read only
for user (which is typical default behaviour) and FS info cannot be read.
It looks like the hint about what went wrong will simplify things in this common case.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 20:18:46 +01:00
Alexandre Julliard b0199ea2fe ntdll: Load the main binary directly in ntdll when possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 19:24:19 +01:00
Alexandre Julliard e5354008f4 kernel32: Move initialization of the WoW64 environment to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 13:25:02 +01:00
Alexandre Julliard 461b5e56f9 kernel32: Move support for running wineboot to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 13:25:02 +01:00
Martin Storsjo fbda8db334 kernel32: Add a special case to EnumProcessModules for the local process.
LLVM's libunwind uses EnumProcessModules for locating .eh_frame
sections when unwinding dwarf exceptions (used on i686).

When running wine in docker (without adding custom additional
permissions), EnumProcessModules currently fails as it uses
ReadProcessMemory, which requires the SYS_PTRACE capability.

The current implementation also is slower than necessary (by a
couple orders of magnituide), for accessing the current process.
Currently, unwinding 10000 exception throws with libunwind on i686
takes 24 seconds when run in wine, while it runs in less than 0.1
second with this patch.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Alexandre Julliard 007f1b9a82 kernel32/tests: Add more tests for FPU control registers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 09:58:45 +01:00
Alex Henrie c58e3a5e29 kernel32: Implement GetSystemPowerStatus on top of NtPowerInformation.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 19:38:49 +01:00
Alex Henrie b0635c9b20 kernel32/tests: Add tests for GetSystemPowerStatus.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 19:38:46 +01:00
Alexandre Julliard fea66c2884 kernel32/tests: Enable the ExitProcess() test on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-29 23:30:47 +01:00
Brendan Shanks aa51aee1a9 ntdll: Enable WoW64 filesystem redirection when loading libraries.
This matches the behavior seen on Windows 7/2008R2 and newer.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47912
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 21:11:48 +01:00
Zebediah Figura a7269a1035 kernel32/tests: Fix some codepage tests under Windows 10.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 21:09:58 +01:00
Nikolay Sivov dbd765e2bd kernel32/tests: Fix some test failures on Win10.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-23 10:26:17 +02:00
Alexandre Julliard fd3735cf4d kernel32: Move dll load path initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 2607bfa28f kernel32: Move command line initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard ee56be3fcd kernel32: Move Unicode argv initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 075741b681 kernel32: Move image path name initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 6b528d526d kernel32: Move additional environment initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 628ca4aafe kernel32: Move registry environment initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard a511057f7e kernel32: Move Unix environment initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard cac9599207 kernel32: Move process name initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 305b5a44c5 kernel32: Move current directory initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Brendan Shanks de9406bccd kernel32/tests: Test loading system DLLs with WoW64 redirection disabled.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47912
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-21 20:41:37 +02:00
Jeff Smith ceb32f6683 kernel32: Quote first command line arg in process paramenters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47790
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-20 13:54:40 +02:00
Alexandre Julliard c258b5ef11 kernel32: Add the new image path to the dll path for a new process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-20 13:54:40 +02:00
Alexandre Julliard 6d8c58d7cc kernel32: Retrieve the Unix codepage from ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-19 14:19:32 +02:00
Sven Baars aaaaec8642 kernel32/tests: Remove a test that shows inconsistent results.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 18:05:32 +02:00
Jacek Caban c0724e56ac kernel32/tests: Add message mode non-blocking pipe test.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 21:04:54 +02:00
Brendan Shanks 41374ef196 server: Don't block ConnectNamedPipe for pipe in PIPE_NOWAIT mode.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 16:03:36 +02:00
Brendan Shanks 91c4e9bf9a server: Don't block when writing to named pipes in PIPE_NOWAIT mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 16:03:35 +02:00
Brendan Shanks abb1ce1087 server: Don't block when reading from named pipes in PIPE_NOWAIT mode.
Fixes Rockstar Games Launcher hanging for some users.

Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 16:03:11 +02:00
Brendan Shanks 11a554eecc kernel32/tests: Add tests for named pipes in PIPE_NOWAIT mode.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 16:03:10 +02:00
Alistair Leslie-Hughes ee266aba74 kernel32: FindFirstFileExW needs to open the directory with FILE_OPEN_FOR_BACKUP_INTENT flag.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47833
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-15 17:20:14 +02:00
Sven Baars 71e96bd3b7 kernel32/tests: Skip some tests when NtSetInformationProcess is denied access.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-09 21:30:37 +02:00
Alexandre Julliard a7c190d35f kernel32: Move system locale enumeration functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00