Commit graph

2689 commits

Author SHA1 Message Date
Timo Kreuzer 902cdbc63a [ATL] Remove an assert that doesn't exist in the native ATL
This fixes an ATL assert in shell32_winetest:assoc and shell32_winetest:shfldr_special
2023-01-04 10:32:28 +01:00
Timo Kreuzer 2154e259e7 [PSDK] Fix definition of DRVCALLBACK for 64 bit 2023-01-04 10:32:28 +01:00
Hermès Bélusca-Maïto 95e5f07084
🎊 🍾 🥳 Happy New Year 2023 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
 __,  ,__)            __,  ,__)       __, ,__)        ░▄████▄░▄███▄░▄████▄░▄█▀▀█▄░
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_   ░▀▀░▄██░██░██░▀▀░▄██░░░░▄█▀░
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||    ░░▄██▀░░██░██░░▄██▀░░▄░▀▀█▄░
 (        |  |  ,_|   (                (__|           ░██████░▀███▀░██████░▀█▄▄█▀░
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
2023-01-01 00:00:00 +03:00
George Bișoc bfe06cbfca
[SDK][CMLIB] Properly check for failure if hive free list creation fails
HvpCreateHiveFreeCellList returns a NTSTATUS code yet the way the code path checks
checks for failure is just wrong. This was spotted whilst working on #4571 PR.
2022-12-30 19:58:37 +01:00
Timo Kreuzer 3b437b8a1c [NDK] Fix definition of RTL_DEBUG_INFORMATION
Fixes ntdll_aiptest RtlDebugInformation on x64
2022-12-30 11:19:26 +01:00
Timo Kreuzer 918c98a239 [NDK] Fix definition of LDR_ENUM_RESOURCE_INFO
This fixes ntdll_apitest LdrEnumResources on x64 Windows
2022-12-30 11:19:26 +01:00
Mark Jansen a09d5bae0f
[LOG2LINES] Compile the tool for MSVC builds 2022-12-29 16:51:40 +01:00
George Bișoc 578f2fc512
[NTOS:CM] Don't lazy flush the registry during unlocking operation
Whenever ReactOS finishes its operations onto the registry and unlocks it, a lazy flush is invoked to do an eventual flushing of the registry to the backing storage of the system. Except that... lazy flushing never comes into place.

This is because whenever CmpLazyFlush is called that sets up a timer which needs to expire in order to trigger the lazy flusher engine worker. However, registry locking/unlocking is a frequent occurrence, mainly when on desktop. Therefore as a matter of fact, CmpLazyFlush keeps removing and inserting the timer and the lazy flusher will never kick in that way.

Ironically the lazy flusher actually does the flushing when on USETUP installation phase because during text-mode setup installation in ReactOS the frequency of registry operations is actually less so the timer has the opportunity to expire and fire up the flusher.

In addition to that, we must queue a lazy flush when marking cells as dirty because such dirty data has to be flushed down to the media storage of the system. Of course, the real place where lazy flushing operation is done should be in a subset helper like HvMarkDirty that marks parts of a hive as dirty but since we do not have that, we'll be lazy flushing the registry during cells dirty marking instead for now.

CORE-18303
2022-12-23 19:45:13 +01:00
Timo Kreuzer dacbc603b6 [CRT] Add simplistic fallback implementation of sincos to make GCC 11 happy 2022-12-01 15:21:59 +02:00
Timo Kreuzer 28c41b7d22 [CRT] Replace amd64 math functions/stubs with libm 2022-12-01 15:21:59 +02:00
Timo Kreuzer 1ad4106b84 [CRT] Add basic version of handle_error 2022-12-01 15:21:59 +02:00
Timo Kreuzer 3d497ca883 [CRT] Improve _matherr handling 2022-12-01 15:21:59 +02:00
Timo Kreuzer 4d50f81419 [CRT] Implement _set_statfp 2022-12-01 15:21:59 +02:00
Timo Kreuzer 61cc62d1b2 [ASMPP] Implement asm preprocessor
This converts ML style assembly to GAS compatible syntax
2022-12-01 15:21:59 +02:00
Timo Kreuzer 7277e26944 [LIBM] Fix ldexp.c / ldexpf.c 2022-12-01 15:21:59 +02:00
Timo Kreuzer 4f348ee971 [LIBM] Add ldexp.c and ldexpf.c from aocl-libm-ose 2022-12-01 15:21:59 +02:00
Timo Kreuzer 105426b81a [LIBM] Fix up some asm files
This allows to compile them with GAS after translation
2022-12-01 15:21:59 +02:00
Timo Kreuzer af6d3bb18f [LIBM] Convert tables from asm to C 2022-12-01 15:21:59 +02:00
Timo Kreuzer 9e8ed3f817 [LIBM] Fix build 2022-12-01 15:21:59 +02:00
Timo Kreuzer 4afb647c78 [LIBM] Import win-libm from AMD
Source: https://github.com/amd/win-libm
2022-12-01 15:21:59 +02:00
Timo Kreuzer 081c637c06 [XDK] Silence some GCC x64 warnings 2022-12-01 15:21:59 +02:00
Timo Kreuzer 06f1ac5fa4 [CRT] Add a workaround for CORE-18255 2022-12-01 15:21:59 +02:00
Hermès Bélusca-Maïto 8398b28ae4
[PSDK] Fix x64 incompatibilities in ***Box_GetItemData(). Addendum to 6572dd7f4. 2022-11-28 15:02:39 +01:00
Thomas Faber 991e2bd45b
[LIBPNG] Update to version 1.6.39. CORE-18670 2022-11-27 10:10:53 -05:00
Thomas Faber c5febe93f0
[LIBPNG] Update to version 1.6.38. CORE-18670 2022-11-27 10:10:51 -05:00
Hermès Bélusca-Maïto 3c95c95369
[NDK] Fix description for PIO_APC_ROUTINE.
[RTL] Typo fix.
2022-11-26 02:38:52 +01:00
Thomas Faber c0027d117c
[LIBXML2] Update to version 2.10.3. CORE-17766 2022-11-25 09:30:40 -05:00
Thomas Faber 19da1718e5
[LIBXSLT] Update to version 1.1.37. CORE-17766 2022-11-25 09:30:40 -05:00
Thomas Faber 1dbad942d8
[LIBXML2] Update to version 2.10.2. CORE-17766 2022-11-25 09:30:39 -05:00
Thomas Faber 0d5a4166a4
[LIBXML2] Update to version 2.10.1. CORE-17766 2022-11-25 09:30:36 -05:00
Timo Kreuzer 66aa25b1cd [RTL] Implement RtlUnwind 2022-11-24 21:17:58 +02:00
Timo Kreuzer 8d3bc7c572 [RTL] Set unwind flags in RtlUnwindEx 2022-11-24 21:17:58 +02:00
Timo Kreuzer 0c211b975f [RTL] Fixes for RtlpUnwindInternal 2022-11-24 21:17:58 +02:00
Timo Kreuzer aade1ab01b [RTL] Fix RtlVirtualUnwind 2022-11-24 21:17:58 +02:00
Timo Kreuzer 90d2e12dfa [RTL] Fix RtlpCaptureNonVolatileContextPointers 2022-11-24 21:17:58 +02:00
Timo Kreuzer f4d4b31c61 [RTL] Implement x64 version of RtlInterlockedPushListSList 2022-11-24 21:17:58 +02:00
Timo Kreuzer 20a6cff4dd [CRT] Implement _InterlockedCompareExchange128 intrinsic for GCC 2022-11-24 21:17:58 +02:00
Hermès Bélusca-Maïto f7024d6c72
[PSDK][NTOS:KD64] Turns out, that even Clang in MSVC mode needs the 64-bits pointer extension hack!
Addendum to commit de81021ba.
Otherwise, we get the following build error:

 \ntoskrnl\kd64\kddata.c(532,5): error: initializer element is not a compile-time constant
      PtrToUL64(RtlpBreakWithStatusInstruction),
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 \ntoskrnl\kd64\kddata.c(526,26): note: expanded from macro 'PtrToUL64'
 #define PtrToUL64(x)    ((ULPTR64)(x))
                          ^~~~~~~~~~~~
2022-11-24 13:30:43 +01:00
Thomas Faber 911153da10
[LIBXML2] Update to version 2.10.0. CORE-17766 2022-11-23 22:02:47 -05:00
Thomas Faber 21ab4d93c7
[LIBXSLT] Update to version 1.1.36. CORE-17766
This version was released after libxml2 2.10.0, but it removes
usage of some now-deprecated functions that would break the build.
2022-11-23 22:02:43 -05:00
Hermès Bélusca-Maïto de81021bab
[PSDK][NTOS:KD64] Rename GCC_ULONG64 to ULPTR64 to self-document the fact it stores a pointer as a 64-bit quantity.
But the underlying GCC stupidity is still there (15 years later).

However, enable it only in 32-bit GCC builds, not in 64-bits nor with MSVC.
See commit b9cd3f2d9 (r25845) for some details.

GCC is indeed still incapable of casting 32-bit pointers up to 64-bits,
when static-initializing arrays (**outside** a function) without emitting
the error:

  "error: initializer element is not constant"

(which might somehow indicate it actually tries to generate executable
code for casting the pointers, instead of doing it at compile-time).

Going down the rabbit hole, other stupidities show up:

Our PVOID64 type and the related POINTER_64 (in 32-bit archs), or the
PVOID32 and POINTER_32 (in 64-bit archs), are all silently broken in
GCC builds, because the pointer size attributes __ptr64 and __ptr32,
which are originally MSVC-specific, are defined to nothing in _mingw.h.
(And similarly for the __uptr and __sptr sign-extension attributes.)

Clang and other sane ompilers has since then implemented those (enabled
with -fms-extensions), but not GCC. The closest thing that could exist
for GCC is to do:

  #define __ptr64 __attribute__((mode(DI)))

in order to get a 64-bit-sized pointer type with

  typedef void* __ptr64 PVOID64;

but even this does not work, with the error:

  "error: invalid pointer mode 'DI'"
2022-11-24 01:18:16 +01:00
Hermès Bélusca-Maïto 1c0950b557
[PSDK][NTOS:KD64] Update the KDDEBUGGER_DATA64 structure with new fields.
Information from the Windows 10 SDK and from
https://github.com/DarthTon/Blackbone/blob/master/src/BlackBoneDrv/NativeStructs.h
2022-11-24 01:18:15 +01:00
Hermès Bélusca-Maïto 1847474aaa
[PSDK] Clarify the FIXME comment about this mysterious warning.h (here for WDK compatibility). 2022-11-24 01:18:11 +01:00
Thomas Faber 8940614a78
[LIBXML2] Update to version 2.9.14. CORE-17766 2022-11-21 19:46:12 -05:00
Thomas Faber 7244e0c5c6
[LIBXML2] Update to version 2.9.13. CORE-17766 2022-11-21 19:46:12 -05:00
Thomas Faber df1adce32c
[LIBXML2] Fix forgotten config.h update. CORE-17766 2022-11-21 19:46:11 -05:00
Thomas Faber f7671c1be8
[LIBXSLT] Update to version 1.1.35. CORE-17766 2022-11-21 19:46:11 -05:00
Thomas Faber e524b1bcf6
[LIBXSLT] Improve sync with upstream. CORE-17766
Makefile.am: this hasn't been updated in a while
security.c: WIN32 -> _WIN32 to keep the ROS-diff consistent with the rest
win32config.h/libxslt.h: remove unnecessary ROS-diff
xsltwin32config.h: this was missed in the 1.1.34 sync
xsltexports.h: mark a ROS-diff as such
2022-11-21 19:46:08 -05:00
Hermès Bélusca-Maïto 56be4eafd5
[NTOS:IO][NDK] Add the exported IoDeleteDriver to the NDK headers. 2022-11-18 18:11:26 +01:00
Serge Gautherie 770b3a3ce5
[HHPCOMP:CHMC] chmc_crunch_lzx(): Disable a dead check (#4880)
CORE-18642
2022-11-16 22:19:52 +01:00
Hermès Bélusca-Maïto 2dddbd5c54
[SMSS] Fix three SmpLoadSubSystem bugs related to the SB_CREATE_SESSION callback.
This fixes starting the Windows 2000 POSIX subsystem in ReactOS.

- The CreateSession pointer was initialized against the SbApiMsg variable, but
  it was the other SbApiMsg2 that was being initialized and sent through LPC.

- Do not overwrite the MuSessionId (Terminal Services session ID) variable with
  the generated environment subsystem session ID from SmpAllocateSessionId().

- Actually initialize the SbApiMsg ApiNumber for the CreateSession LPC call.

(dll\win32\kernel32\client\proc.c:3690) Retrying with: POSIX /P C:\ReactOS\system32\posix\ls.exe /C ls
Breakpoint 1 hit
csrsrv!CsrSbApiRequestThread+0x64:
001b:1000ac34 837dfc00        cmp     dword ptr [ebp-4],0
kd> ??ReceiveMsg
struct _SB_API_MSG
   +0x000 h                : _PORT_MESSAGE
   +0x018 ConnectionInfo   : _SB_CONNECTION_INFO
   +0x018 ApiNumber        : 0xcccccccc (No matching name)
   +0x01c ReturnValue      : 0n0
   +0x020 u                : <unnamed-tag>
kd> p
...
(base\system\smss\smsubsys.c:393) SMSS: SmpLoadSubSystem - NtRequestWaitReplyPort Failed with  Status c0000002 for sessionid 2
...
<Retrying>
...
(base\system\smss\smsubsys.c:393) SMSS: SmpLoadSubSystem - NtRequestWaitReplyPort Failed with  Status c0000002 for sessionid 3

All those bugs could have been avoided *IF*, rather than (badly) duplicating
its code, the existing SmpSbCreateSession() function had been used instead.

- "Not sure these field mean what I think they do -- but clear them" ... ◔_◔
  Those fields are related to the debug client interface (DbgUi) and session
  in case the subsystem being started is going to be debugged. These have
  nothing to do with the MuSessionId. Clarify this in the SB_CREATE_SESSION_MSG
  structure and in the SmpSbCreateSession() function.
2022-11-14 00:10:35 +01:00
Hermès Bélusca-Maïto f43ce46566
[SMSS] Improve comments/code/some DPRINTs. Reorganize smss.h header. 2022-11-14 00:10:35 +01:00
Hermès Bélusca-Maïto 06a0451415
[SMSS][CSRSRV] Undefine CreateProcess symbol. Name the union inside SB_API_MSG.
Undefine CreateProcess because it can be #define'd (to CreateProcessA/W)
if winbase.h is included prior (as it is in SMSS).
2022-11-14 00:10:32 +01:00
Katayama Hirofumi MZ e1f8b32c3d [INCLUDE][USER32] Add WM_FINALDESTROY and improve ImeWndProcA/W
CORE-11700
2022-11-13 09:59:17 +09:00
Hermès Bélusca-Maïto 9f48c69231
[SMLIB][SMSS] Implement SmLoadDeferedSubsystem() client and server-side. (#4821)
Loosely based on the deprecated ReactOS-specific SmExecuteProgram().
On server-side, we lookup into the list of deferred subsystems that
has been initialized at init time.

Dedicated to Justin Miller (The_DarkFire) work on reviving the
POSIX subsystem!
2022-11-08 17:41:02 +01:00
Hermès Bélusca-Maïto 0e14378d3e
[SMDLL][SMLIB] Deprecate the legacy ROS-specific SMDLL and improve SM client functions. (#4821)
This DLL was exporting legacy NT-incompatible or ROS-specific SM client
functions, that have been since 10 years now (2012) replaced by the new
NT-compatible SM:

- SmConnectApiPort(): was just SmConnectToSm().

- SmCompleteSession():
  The legacy SMSS used it for when a subsystem initialization was finished.
  Now (NT-compatible) this function is called by subsystems **only** when a
  subsystem session **terminates**: SmSessionComplete().

- SmExecuteProgram(): was just the client side of SmLoadDeferedSubSystem()
  (whose server side is not implemented yet). The legacy SM "old" SmExecPgm
  implementation actually was "SmLoadDeferedSubSystem"...

- SmLookupSubsystem(): is a utility-only function to read any registry value
  inside "Session Manager\SubSystems".

Move SMDLL's readme into SMLIB and update its contents.

Collect some residual useful functions into smutils.c (and moved in SMLIB,
though not compiled yet):
- SmExecuteProgram(), now implemented as a wrapper around SmExecPgm();
- SmLookupSubsystem(), described above;
- SmQueryInformation(), that retrieves a list of currently-running subsystems.

[SMLIB] Validate SbApiPortName's length in SmConnectToSm().
Fix CommandLine length validation in SmStartCsr().

Add documentation (+ SAL annotations) to the NT-compatible SMSS client functions.

smmsg.h: Add both Win32 and Win64 struct sizes C_ASSERTs for those whose size
change between these two processor architecture sizes.

[SMLIB] Introduce SmSendMsgToSm() as helper to send data into the SM LPC port.
+ Make the other API functions use it.

It should be observed that in Vista+, both functions SmConnectToSm() and this
new SmSendMsgToSm() are exported by NTDLL under the names RtlConnectToSm()
and RtlSendMsgToSm() (and use the same signature).
See: https://www.geoffchappell.com/studies/windows/win32/ntdll/history/names60.htm

[NTDLL] Correctly stub RtlConnectToSm() and RtlSendMsgToSm().
[NTDLL_VISTA] Link to SMLIB and simply export RtlConnectToSm() and RtlSendMsgToSm().
2022-11-08 17:40:53 +01:00
Katayama Hirofumi MZ 140aa11c36
[SHELL32] shlexec: Initial support of App Paths (#4850)
- Fix SHELL_TryAppPathW helper function by using SHRegQueryValueExW function.
- Fix SHRegQueryValueExA/W functions.
CORE-11335
2022-11-08 09:23:06 +09:00
Mark Jansen f89b406de6
[SDK] Fix missing comma in check_packing.py 2022-11-04 23:02:25 +01:00
Katayama Hirofumi MZ 1a1a8a8303
[SHELL32][INCLUDE] Fix PathResolve for double-backslash (#4833)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>

Fix shell32!PathResolve and shell32!PathQualifyExW functions for double-backslash. However it doesn't fix CORE-15204.
CORE-18080, CORE-15204
2022-11-04 21:44:46 +09:00
Hermès Bélusca-Maïto e944dfa75f
Remove '.html' from spdx.org license page URLs. (#4845) 2022-11-03 18:25:37 +01:00
Hermès Bélusca-Maïto 4ac263c93a
[NTOS][NTDLL][NDK] Nt/ZwCreatePagingFile: Fix parameter names + use SAL; fix NTDLL spec file. 2022-11-03 02:55:50 +01:00
Hermès Bélusca-Maïto 671d7e4741
[RTL] RtlDefaultNpAcl(): Don't hardcode SidBuffer size, but deduce it through FIELD_OFFSETs. 2022-11-03 02:50:21 +01:00
Mark Jansen e3ac541360
[RTL] Use RtlApplicationVerifierStop for DPH 2022-11-01 21:26:05 +01:00
Mark Jansen d82185f104
[SDK] Define CCoInit in shellutils 2022-11-01 21:24:14 +01:00
Serge Gautherie b5fcf9fe07
[PSDK] SECURITY_ATTRIBUTES: Remove size_is(nLength) (#4832)
nLength is the size of the struct itself, not a number of descriptors.
Addendum to 1f12113 (r26428).
2022-11-01 03:14:09 +01:00
Hermès Bélusca-Maïto d8cc88ca80
[KERNEL32][BASESRV] Fix interoperability with Win2k3 regarding NLS section security. (#4828)
Partially revert some aspects of commits 5696e4ba4 and bf40c7a31.
(See PR #4340.)

In order for Win2k3 kernel32.dll to operate with our basesrv.dll (or our
kernel32.dll to operate with Win2k3 basesrv.dll), we need in particular
to have the CreateNlsSecurityDescriptor() helper to exactly take the
expected parameters. Namely, a pointer to a **user-allocated**
SECURITY_DESCRIPTOR buffer, its size (and an access mask).

The function expects its caller to provide all this, and the caller expects
the function to initialize the security descriptor buffer. Note that the
function does *NOT* allocate a new descriptor buffer to be returned!

Indeed, with the way it currently is in master, using Win2k3 kernel32
with our basesrv is now failing with the errors:
```
NLSAPI: Could NOT Create ACL - c0000023.
(subsystems/win/basesrv/nls.c:279) NLS: CreateNlsSecurityDescriptor FAILED!: c0000023
NLSAPI: Could NOT initialize Server - c0000023.
(dll/ntdll/ldr/ldrinit.c:867) LDR: DLL_PROCESS_ATTACH for dll "kernel32.dll" (InitRoutine: 77E40D95) failed
```
(and, if we ever attempted to increase the so-claimed "dummy parameter"
descriptor size in the basesrv call, we would end up with its stack
corrupted and a crash).
Conversely, using our kernel32 with Win2k3 basesrv, would end up with
basesrv receiving a wrongly-initialized descriptor that would not work
(the buffer not being initialized with the contents of a descriptor, but
instead receiving some address to a descriptor allocated somewhere else).
2022-11-01 02:34:04 +01:00
Hermès Bélusca-Maïto b4dfef73e5
[PSDK] Formatting for COPY_FILE_* and FILE_FLAG_* defines.
As flags it's easier to see hex values than decimal numbers.
Also I wonder who made those headers, it's as if they "unformatted" them
on purpose (looks like some autodump from somewhere). Just ugly smh...
2022-11-01 02:29:23 +01:00
Hermès Bélusca-Maïto 8cd01eaf25
[CSRLIB] Add SAL annotations to the CSR client functions. 2022-10-29 17:17:30 +02:00
Hermès Bélusca-Maïto d2aeaba5f8
[CSR][NTDLL] Move the CSR subsystem into its own "csr" sub-directory. (#4802)
Move CSRSS, CSRSRV there, as well as CSR client calls from NTDLL into a "CSRLIB" library.
2022-10-29 17:17:29 +02:00
Mark Jansen 122423238a
[PSDK] Add arguments for SearchPathW 2022-10-19 19:39:29 +02:00
Katayama Hirofumi MZ dff4579bd6 [NTUSER][USER32][INCLUDE] s/SETIMEHOTKEY_DELETEALL/SETIMEHOTKEY_INITIALIZE/
CORE-11700
2022-10-19 12:15:11 +09:00
Katayama Hirofumi MZ 26caef2336 [INCLUDE] immdev.h: Adapt INPUTCONTEXTDX to C++
CORE-11700
2022-10-15 08:13:22 +09:00
Mark Jansen 6a1f287820
[SHELL32] Show file / drive properties at the position where the mouse was.
CORE-18386
2022-10-14 21:02:33 +02:00
Hermès Bélusca-Maïto 0dd6aa6ca5
[WINDOWSX.H] Make header compatible with MS PSDK + Add missing original license. (#4768)
To hypothetical future sync'ers: If you ever try to sync this file with
MinGW-w64, please be extremely careful to port all the fixes (including
x64-compatible casting fixes, missing definitions, etc.) that have been
brought to this file along the years by your dear ReactOS colleagues.
2022-10-12 16:10:35 +02:00
Hermès Bélusca-Maïto 6572dd7f48
[WINDOWSX.H] Fix some x64 incompatibilities. (#4768) 2022-10-12 16:10:22 +02:00
Katayama Hirofumi MZ 2e67c18d2b
[BROWSEUI][INCLUDE] Localize 'Address' on CBandSiteMenu (#4767)
- Add IDS_ADDRESSMENUTEXT resource string (whose ID matchs the string of addressband.rgs).
- Add SHLoadRegUIStringA/W function prototype to <shlwapi_undoc.h>.
- Use SHLoadRegUIStringW to load MenuTextPUI.
CORE-18394
2022-10-11 06:15:28 +09:00
Stanislav Motylkov 3188f93fd4
[PSDK] Add some missing Shell State Flags to shlobj.h
See https://docs.microsoft.com/en-us/windows/win32/shell/ssf-constants

CORE-8427
2022-10-10 18:30:24 +03:00
Peter Meerwald-Stadler 6bf909d66a
[ZLIB] Restore 'uncrypt' functionality in minizip (using #ifdef REACTOS)
CORE-18339
2022-10-10 11:03:55 -04:00
Peter Meerwald-Stadler 3e1f407439
[ZLIB] Update to v1.2.12. CORE-18339
Upstream commit 21767c654d31d2dccdde4330529
2022-10-10 11:03:41 -04:00
Andrei Miloiu 5b4a145453
[TRANSLATION] Big Romanian (ro-RO) translation update - part 1 (#4701)
- [CALC] Improve Romanian (ro-RO) translation
- [SOLITAIRE] Improve Romanian (ro-RO) translation
- [MSPAINT] Improve Romanian (ro-RO) translation
- [MSTSC] Improve Romanian (ro-RO) translation
- [SNDVOL32] Improve Romanian (ro-RO) translation
- [REACTOS] Improve Romanian (ro-RO) translation
- [USETUP] Improve Romanian (ro-RO) translation
- [DESK] Improve Romanian (ro-RO) translation
- [INPUT] Improve Romanian (ro-RO) translation
- [INTL] Improve Romanian (ro-RO) translation
- [JOY] Improve Romanian (ro-RO) translation
- [MMSYS] Improve Romanian (ro-RO) translation
- [POWERCFG] Improve Romanian (ro-RO) translation
- [SYSDM] Improve Romanian (ro-RO) translation
- [ACPPAGE] Improve Romanian (ro-RO) translation
- [DESKADP] Improve Romanian (ro-RO) translation
- [MYDOCS] Add Romanian (ro-RO) translation
- [NETPLWIZ] Add Romanian (ro-RO) translation
- [NTOBJSHEX] Improve Romanian (ro-RO) translation
- [SENDMAIL] Add Romanian (ro-RO) translation
- [ZIPFLDR] Improve Romanian (ro-RO) translation
- [JSCRIPT] Improve Romanian (ro-RO) translation
- [MSGINA] Improve Romanian (ro-RO) translation
- [SYSSETUP] Improve Romanian (ro-RO) translation
- [MC] Add Romanian (ro-RO) translation

Reviewed-by: Ștefan Fulea <stefan.fulea@mail.com>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: George Bișoc <george.bisoc@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-10-09 14:00:20 +03:00
Ratin Gao badd97043f
[RTL][NTDLL_APITEST] Implement RtlRemovePrivileges (#4614)
Vista+ API, compile-time guarded.
Add tests for it.
2022-10-05 14:31:39 +02:00
Mark Jansen cd2d284142
[EXPLORER][BROWSEUI][SHELL32][NETSHELL] Fix wrong usage of CComPtr 2022-10-02 00:38:23 +02:00
Mark Jansen a414c88dae
[ATL] Prohibit the use of AddRef/Release on objects inside CComPtr
This mimics what MS's CComPtr is doing:
https://learn.microsoft.com/en-us/cpp/atl/reference/ccomptrbase-class?view=msvc-170#operator_ptr
The reasoning behind this is that AddRef/Release is handled by the CComPtr,
so anyone calling that is most likely not using the CComPtr correct.
2022-10-02 00:38:23 +02:00
Artyom Ovsyannikov 3f411c5da7
[REACTOS] Various Russian (ru-RU) translation fixes (#4696)
Reviewed-by: Stanislav Motylkov <binarymaster@mail.ru>
2022-09-15 18:46:03 +03:00
Jose Carlos Jesus e215a088f9
[ATL] Fix window position to fit in screen area (#4512)
Clicking "Edit compatibility modes" button in the "Compatibility" tab
opens a window centered on the parent window. If we move the parent
window to one of the screen edges and then click this button again,
the new window will appear off screen.

Adjust position of created window, so now it would be completely visible.

CORE-17089

Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2022-09-13 18:00:45 +03:00
Mark Jansen ab760e539d
[PSDK] Add missing defines / argument names 2022-09-06 21:11:09 +02:00
Mark Jansen 8760852129
[PSDK] Add COWAIT_DEFAULT 2022-09-06 21:11:09 +02:00
Timo Kreuzer 3aa3b3af56 [CRT] Implement portable ceil/floor 2022-08-26 00:44:46 +02:00
Hermès Bélusca-Maïto 5cadc268ef
[BOOT][SDK:CMLIB] Compile a CMLIB for FreeLdr / NT bootloader with correct definitions. (#4619)
This also allows using the CMLIB with any reduced functionality
that could be required at boot-time.
2022-08-22 22:08:02 +02:00
Timo Kreuzer 620f9ee71a [NTOS] Add MxCsr handling to trap handlers 2022-08-22 11:22:08 +02:00
Timo Kreuzer 76086220fa [CRT] Fix amd64 floating point control functions 2022-08-22 11:22:08 +02:00
Timo Kreuzer 39f11249ff [NTOS][RTL] Initialize MxCsr where missing 2022-08-22 11:22:08 +02:00
Katayama Hirofumi MZ 25fcdc5c2b
[USER32][IMM32][INCLUDE] Empower WM_IME_SYSTEM handling (#4603)
- Add code to ImeWnd_OnImeSystem function.
- Add CtfLoadThreadLayout and User32DoImeHelp helper functions.
- Define IMS_... constants (for WM_IME_SYSTEM wParam) and fix some magic numbers.
CORE-11700
2022-08-13 07:08:18 +09:00
Katayama Hirofumi MZ 2220e566a2
[KEYBOARD][BOOTDATA][TOOLS] Rename keyboard layout files (#4596)
The keyboard layout file names of ReactOS are different from Windows' ones. It was one reason why ImmInstallIMEW fails.
- s/kbdbgm/kbdbu/ Bulgarian (Typewriter)
- s/kbdgrist/kbdgr1/ German_IBM
- s/kbdes/kbdsp/ Spanish (non-alternate!)
- s/kbdja/kbdjpn/ Japanese
- s/kbdko/kbdkor/ Korean
- s/kbdsk/kbdsl/ Slovak
- s/kbdsk1/kbdsl1/ Slovak (QWERTY)
CORE-11700
2022-08-06 08:03:46 +09:00
Eric Kohl 23ecbb3ed5 [SECLOGON][ADVAPI] CreateProcessWithLogonW: Return process information to the caller 2022-07-24 01:08:13 +02:00
Katayama Hirofumi MZ ffbdb7d39e
[IMM32][USER32] ImmPutImeMenuItemsIntoMappedFile (#4588)
Implement inter-process menu item retrieving.
CORE-11700
2022-07-23 05:58:17 +09:00
Timo Kreuzer 04fe666590 [NDK] Add missing x64 unwind definitions 2022-07-20 23:57:42 +02:00
Timo Kreuzer 2881b77302 [CMLIB] Don't redefine PAGED_CODE() to nothing in cmlib.h except for cmlib_host
This header is included by ntoskrnl which effectively disabled all PAGED_CODE checks since 2015. Thanks Alex.
Instead define _BLDR_ when building cmlib, which will avoid trying to import KeGetCurrentIrql()
2022-07-20 20:36:22 +02:00
Timo Kreuzer bc9409daba [CRT] Add round and roundf and add it to msvcrtex to make clang v14 happy 2022-07-17 17:32:32 +02:00
Timo Kreuzer 45f75d5d32 [NTOS:KE/x64] Handle user faults in KiGeneralProtectionFaultHandler 2022-07-14 18:35:28 +02:00
George Bișoc 54a00aa8eb
[CMLIB][NTOS:CM] Deduplicate other common definitions between CMLIB and the NTOS CM
Addendum to commit 8c2454e (r70605). Credits and courtesy go to Hermès BÉLUSCA - MAÏTO.

CORE-10802 CORE-10793
2022-07-10 14:35:53 +02:00
Stanislav Motylkov 35a816a24e
[FREELDR][SDK] Sync copyright years with our banner and boot logo
Addendum to 831e2dea. CORE-18191
2022-06-27 21:42:01 +03:00
Stanislav Motylkov 831e2dea3d
[FREELDR][SDK] Use "ReactOS Project" for consistency
CORE-18191
2022-06-27 21:38:14 +03:00
Gary Sims 6881d8c624
[REACTOS] Remove references to ReactOS Foundation (#4557)
See https://reactos.org/wiki/ReactOS_Foundation for more information.

CORE-18191
2022-06-27 16:00:20 +03:00
Timo Kreuzer ba0d16f3b3 [CRT] Add missing OP_* constants in fpieee.h 2022-06-26 23:08:14 +02:00
Timo Kreuzer b7c6170a5f [CRT] Add emmintrin.h
Implementations are taken from clang.
2022-06-26 19:59:41 +02:00
Timo Kreuzer b85afdfd25 [CRT] Implement portable + amd64 asm version of fabs/fabsf
Note: older versions of ML64 are broken and don't understand the register form of movq.
See https://stackoverflow.com/questions/24789339/move-quadword-between-xmm-and-general-purpose-register-in-ml64
2022-06-26 19:13:47 +02:00
Timo Kreuzer 8a67170616 [CRT_APITEST] Implement tests for fabs/fabsf 2022-06-26 19:13:47 +02:00
Timo Kreuzer 8521f6d7b5 [RTL] Implement dynamic function tables for x64 2022-06-25 21:45:47 +02:00
Serge Gautherie ef1311b7a4
[IP] AddrCountPrefixBits(): Fix loop condition (#4556)
Properly handle BitTest reaching 0.

CORE-18225
2022-06-25 17:14:03 +02:00
Stanislav Motylkov 994e2f289e
[DESK] Pass the list of all display modes to extensions
Also implement mode switching from adapter advanced settings.
2022-06-20 14:38:03 +03:00
Thomas Csovcsity 1a6f523e01 [WINESYNC]: reg is now in sync with wine-staging wine-6.23
Used winesync.py script, commits which needed obious adjustments have explicit
note in commit message, that it is manually adjusted. Internationalization is
skipped while automated sync and done in last manual step.

Additonal manual adjustments to compile in ros are in this commit:
- wcsupr -> _wcsupr
- only 3 arguments for swprintf, instead of 4 in wine
- disable tests for "/reg:32" and "/reg:64", because they fail on w2k3

Manually addjusted base/applications/cmdutils/reg/lang/zh-CN.rc while rebase to
actuall master (4a66cbb224) on 19.06.2022
2022-06-19 14:13:00 +02:00
winesync 958d4a884a [WINESYNC] reg: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 942f9f71575d4a53ae032360e03f1297be1319f7 by Alexandre Julliard <julliard@winehq.org>
2022-06-19 13:06:39 +02:00
winesync 29992c17f1 [WINESYNC] reg: Support use of registry views in the 'copy' operation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50962
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 04d52eb83fa5c37cfe1100f435e36c2f78918338 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync be726bd769 [WINESYNC] reg/tests: Test use of registry views when copying registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d92f26ed1264ec80f97c0a45a59b986f0b9cae38 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync 35b9e2d380 [WINESYNC] reg: Support use of registry views when exporting registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fcf79426147adf0d9f1d80b0cf24d0b6abd8bf59 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync bac2e89b05 [WINESYNC] reg/tests: Use correct file and line arguments with delete_file().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0b5ba1d0be04f7c6bc0e53e9a28984cf2941b4bc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync 54f7d655e4 [WINESYNC] reg/tests: Split 'export' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 959ea6677ea0571c5042a5ec5bec33fb5a5f1dc6 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:39 +02:00
winesync 73ac2fc096 [WINESYNC] reg/tests: Test use of registry views when exporting registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fee692178cebd33220027ad6038f6acd8185b77f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync 4e25c2d09b [WINESYNC] reg/tests: Add registry view syntax tests for the 'import' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 49cde0995827b24aa9c1ef1b6a0372797f4166e0 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync 9f70f13ee7 [WINESYNC] reg: Support use of registry views in the 'import' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0c71a9879d894e4b82de2909c9c44e36c0bbb35e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync bed77337e8 [WINESYNC] reg/tests: Test use of registry views when importing keys and values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f2ce614d85091500c071f9b7234f17d5d6418727 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync 7beb1390e2 [WINESYNC] reg/tests: Split 'import' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e3d14e66f71193faeb532c28b5b5565d5ea9b12f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync c69933739b [WINESYNC] reg: Support use of registry views in the 'query' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8eef4a873513cca9ffea61fb225fa8a9c8ac784d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync 5caeeb0399 [WINESYNC] reg/tests: Check all error codes in delete_tree() before returning.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48c73868720606ab62ae089ee3b9c978736bd530 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync 2592a360a0 [WINESYNC] reg/tests: Test use of registry views when querying registry values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45955658e18b65d3af701885e2cfa58bd0c95ceb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync df1bb03b05 [WINESYNC] reg/tests: Don't verify key deletion after calling delete_tree().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3186a0046336e82a2e8133f8a5958e6250c6fe61 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync 2d9dfc03d8 [WINESYNC] reg/tests: Verify key opening and key deletion in delete_tree().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5115e51adb103f023600269ddc1833386fcc1e79 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync 4e13fbcfcc [WINESYNC] reg/tests: Test use of registry views with the 'query' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 76b30097525f755f572d835b0187d9496941d985 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync e89696846f [WINESYNC] reg/tests: Split 'query' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a899d743c585fe8004c41f12cf0a080ebe622fd1 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:38 +02:00
winesync 129ed8f5fb [WINESYNC] reg: Support use of registry views when deleting registry keys.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 31f070f7d3e312942d72e774a4a7dbd21b655a31 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync fde082ff99 [WINESYNC] reg: Support use of registry views when deleting registry values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d42cb9c1ca72e02b8961d6703aaa2e3ddfda5e2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync db92c856fd [WINESYNC] reg/tests: Test deletion of keys and values using registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 556121b1cafc2182edaeb7354caf46375205bef7 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync 92e39357b8 [WINESYNC] reg/tests: Remove duplicate test from test_registry_view_wow64().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8ad9c21b056d9f3119c363e0f7e56198985d5b08 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync 44c2f0d9d6 [WINESYNC] reg/tests: Modify delete_tree() to support the use of registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d790c593490bfb363cf34ab2d00dddbaf04ddd15 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync aabda6f608 [WINESYNC] reg/tests: Move 'delete' syntax tests into a separate function.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7c9f372480511cba8abd90ed04480911d96036de by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync ad80ceabc3 [WINESYNC] reg: Support the use of registry views during the 'add' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 304b80a9b5a6ed128dd8a89e22f05b99142310cd by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync 334c2e278c [WINESYNC] reg/tests: Test key and value creation in 32-bit and 64-bit registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 24d0d6f524d6c51cc5d8c909bf6cd942d6ae443d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync 77b2d21e9d [WINESYNC] reg/tests: Modify add_key() to support key creation in registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0d60749c218ae76645006e6273fc2f6a5ea87a58 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync 64c8452688 [WINESYNC] reg/tests: Update delete_value() declaration to deconstify 'const HKEY'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ff0445a5de192b2984bb558ac54e7f4d54e96129 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync df92c0464b [WINESYNC] reg/tests: Modify verify_key_nonexist() to support registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9780dfc01a460264b6088fe23eada214c21441bd by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync cd3b6fe7a9 [WINESYNC] reg/tests: Modify verify_key() to support opening of registry views.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fdceb5ed7e5ce058cf9a64564e116f1bbe42d5ea by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync ea4fae5116 [WINESYNC] reg/tests: Update reg_open() and reg_open_() definitions.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0eb85504b4b9bdeef8a402d39024e20ad99789a0 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:37 +02:00
winesync 0ea0084c73 [WINESYNC] reg/tests: Modify delete_key() to support use of RegDeleteKeyEx().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f06869199571466c989b0e75a8edfb55ad6e541a by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync 9ad9ae45ac [WINESYNC] reg/tests: Test how values are overwritten when copying.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8104629672db54fcc13f05f980149d2cc4170e24 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync 7d85b1aef4 [WINESYNC] reg: Prompt the user to confirm whether they want to overwrite existing values when copying a key.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48000
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aeeda123b1185e6d6f6c975354fe567c4573502e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync 07427368d3 [WINESYNC] reg/tests: Test whether the 'copy' command copies user-defined key classes.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 664f8b638d421540e73b4e046a9aa5e66f8cc4ff by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync 20aa38c6e7 [WINESYNC] reg: Fail if the source and destination keys are the same when copying.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0abc002a3e232be3445241e435ef17ac89d6c947 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:36 +02:00
winesync ded0675d66 [WINESYNC] reg: Support recursion in the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8d9a228e99e1252a0d82c88e6a64635548c478a6 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync da2d23fb94 [WINESYNC] reg: Partially implement the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b1ccb87d9debb1a07e35263a76b6e34a7dd6ee49 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync 34aed2639a [WINESYNC] reg: Group resource IDs by source location.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8f997a8b9b75320449711d3b05241b5f1f580ac3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync 2964cf3b37 [WINESYNC] reg: Remove two unused string resources.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e4f3d51fdde4b762d2317ce7b2aa140ac030989b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync 67493a4006 [WINESYNC] reg: Fail if one or more arguments follow a help switch.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c466296a7629487930d4d6e4fa7d7ae66a7bf61 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:36 +02:00
winesync 181292dc07 [WINESYNC] reg: Add initial support for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ac32dd8abcdd93f5428ba93c8aff7f0bb5a7c2f2 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:36 +02:00
winesync f6fb1eb081 [WINESYNC] reg: Fix a typo in a function definition.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 537cd26f7cf799bf51875d1bc4970ec79a1184a3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync 552256c17b [WINESYNC] reg/tests: Add key and value order tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ca57a86074e6109fcc2254e3d58ff225f4335236 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:36 +02:00
winesync 927db6bec5 [WINESYNC] reg/tests: Add more data tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id baf0254bbb617c3b21c5b068e645615418a5be19 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync 6ae4684dca [WINESYNC] reg/tests: Add complex data and hex type tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3115276367e61f98436f8ba2feee9da491f7d69f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync 105971e68e [WINESYNC] reg/tests: Add missing return code checks.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 48cd2588be54f7ab659ae3733456c826101f4c27 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync d40c4ec10d [WINESYNC] reg/tests: Add data tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bb609c6acbf53b822825e3077fe0996a85d5026d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync f27a0866a4 [WINESYNC] reg/tests: Add further syntax tests for the 'copy' command.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c0619c092962d1c14725ac6cdc84b8e80ecb09bc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync f9a0d83961 [WINESYNC] reg: Update an error message.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa4268dcbcfe0b1bcbe3adafb7e3dd542eb6d928 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:35 +02:00
winesync e7137d6832 [WINESYNC] reg: Update the STRING_VALUEALL_FAILED resource string.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5bee1882c009d399d4e9082bcf75a4ea9b51bfe0 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:35 +02:00
winesync 6fa073aacd [WINESYNC] reg: Fail if access is denied when deleting registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab64b0e33972b31b648ee92922b1df78cb6b5a70 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync 64312c4fd4 [WINESYNC] reg: Prevent buffer over-read when querying REG_NONE values with no data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 60c8dfdd0bbaff4a2369f884ec1a553a06735676 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync 4f9404e600 [WINESYNC] reg: Avoid allocating zero bytes of memory when handling REG_BINARY data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1dd785d1490f64c33e89003453f7c82292d185d5 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync d8277eee6f [WINESYNC] reg: Allow the 'reg_data' pointer to be NULL.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e2dfb0aff42153f2c1a25e8c9b37ad10409aca36 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync a5469189ad [WINESYNC] reg: Only prompt the user to overwrite registry data if the given key already exists and [/f] is not supplied.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cf1e6d3f3fcb726062b957a973bb0a78b7e00eab by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync 61d4db3fde [WINESYNC] reg: Fail if access is denied when adding registry data.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d433d1f122a85b7902b48bae1930eef503a239a5 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:35 +02:00
winesync 39593a1e16 [WINESYNC] reg: Add or modify the (Default) registry value if [/v] is not specified.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a0dc4d7ce37fa8cc515cd4c908245d12fc07cfae by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync 1bfb496303 [WINESYNC] reg: Replace the 'reg_count' variable name with context-specific names.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c73949a46c2dda10b544cef44c0f6c3623cc74e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync 5132711167 [WINESYNC] reg/tests: Update error messages.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 08786274e25461dc1af3684f0e46c896201b28cb by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync 44774b38b2 [WINESYNC] reg/tests: Add two REG_DWORD tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 357601a01b894ecdd0e26f5493914192d7ccae6f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync a260cccef6 [WINESYNC] reg/tests: Fix a typo in a REG_DWORD test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a8e961ecacb845b3fc613401431ae9ca37bf9d4b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync fe627c0e6a [WINESYNC] reg/tests: Split the REG_DWORD_BIG_ENDIAN tests from the REG_DWORD tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 94b582b1a68cd07676618144537465bdf21d1847 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync 6802956e33 [WINESYNC] reg/tests: Use string literals instead of a char buffer for REG_MULTI_SZ tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1110421da93ebd6cc2648008fed874a49b8bbf28 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync 5e7302ebfd [WINESYNC] reg/tests: Add and amend tests adding a (Default) value.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1aae492dcbb2a0a7725a9cff40edd6a355f7fc79 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync 123e459be5 [WINESYNC] reg: Use correct error message if RegCreateKeyExW() fails.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id dedcd7c100461cf8be46387ebd65b60488c13ecf by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:34 +02:00
winesync 40d62f3c5b [WINESYNC] reg/tests: Verify that only the (Default) value is overwritten when neither /v nor /ve is specified.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8203c5db0248d38f06af55411ac4f4c89976fad2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync 1aea6bdfcf [WINESYNC] reg/tests: Rework syntax tests for the 'copy' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1ce21dbb5f2eed468c3748a2de1f25744e10e04c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync d9ac771683 [WINESYNC] reg: Don't enumerate a registry key for subkeys if we know the key does not have subkeys.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 33cfc644a055a9bc88253ae8d8c824ad603e7a02 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync 3dbd42081e [WINESYNC] reg: Print a new line when recursing and the current key has no registry values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 35ccb87a767394ea3054c8890ad7b245e431290d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:34 +02:00
winesync 14b77379a7 [WINESYNC] reg: Only print the name of the registry key if it contains values or we are recursing.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ec0a799ea8884479d7b56b81fb9fdd106f1a751b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync a3bf868efb [WINESYNC] reg: Do not print a line break after querying a registry key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f32816268ed5715c5bce20daf9bb20aa194a7127 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync f0c76942b7 [WINESYNC] reg: Consistently use 'hkey' for HKEY variables.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c809f9462455ffb0e03a9ae4057f0cd47c85ee5d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync a0060cdcee [WINESYNC] reg: Print the full key path without a trailing backslash.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e685718c3b701b67e1920a8e4f2ddce31d3ca800 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:33 +02:00
winesync f42b63fd64 [WINESYNC] reg: Fail if a system key has a trailing backslash but no subkey path.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 797520db8f7eb708845891da6f08d3030393d6bc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync f55096783d [WINESYNC] reg: Drop key output from the "Invalid system key" error message.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6d2ab37a44c6d0bd58504cbc3ff20d2828afc841 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:33 +02:00
winesync 4771673c8f [WINESYNC] reg/tests: Add tests for querying a key only containing subkeys.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8b0602023add5c530e4f257ebf07ebae8e4ffdba by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync d552b44ff8 [WINESYNC] reg/tests: Use 'hkey' in 'query' tests for consistency with other reg.exe tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c573fce35b80d60b38b720a82fee53941c7490ea by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync 2535ff3f1b [WINESYNC] reg/tests: Only try querying an invalid key once.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9752dfeea82c48e2230bacbf9db9564d5562de02 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync 00ef8711f9 [WINESYNC] reg/tests: Test key creation and initialization of the Default registry value.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e9412a8ae020fe614d96d20f20355d53593048cc by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync ba10b11f88 [WINESYNC] reg/tests: Only pass a newly created HKEY if it is used in later tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 559086af62254a1f82c25f4fd4c145d93c60b973 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync 3969dcc3de [WINESYNC] reg/tests: Refactor 'add' tests into registry types, keys and syntax checks.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45b66285c38462bb57e8ab8a577f8df2dba15363 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync 16cc1ad771 [WINESYNC] reg/tests: Test output of keys with a trailing backslash.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f6566bf7493dea2511238ad59aae873168b16963 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:33 +02:00
winesync e77afe91c9 [WINESYNC] reg/tests: Compare output of some 'query' recursion tests.
Recursively querying a registry key for a given value name produces an extra
line specifying the number of matches found.

This line is locale-specific, so we only exclude it from the comparison
on a test-by-test basis.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f4b4398d797382f238f6a21da259fed0d0e2a286 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync 5132d26c4c [WINESYNC] reg/tests: Compare 'query'test output with expected output.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5983247c3a5a7b5b64498a2cdff0eadf5edc47b5 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync a12c844899 [WINESYNC] reg/tests: Give 'query' tests some structure.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5bc2af7b1cf2e4e56311dad77acd8f67b3b7a13f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync b12d798037 [WINESYNC] reg/tests: Reorder failing 'query' tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3d772fe408970f6a1aad02321f21706408dd92e9 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync b6bc8e1371 [WINESYNC] reg: Allow /reg:32 and /reg:64 switches to be passed via the command line.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44755
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2b900e1c38d9bed0901ea036488e896e6df0cbe9 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:32 +02:00
winesync 9cf114d789 [WINESYNC] reg: Print additional help messages when syntax is invalid.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 010cb1b4057550b2eb6c371db5ba5a8d11ef337e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync a1330dea51 [WINESYNC] reg/tests: Add tests for trailing backslashes after the system key.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a47829e13d639831ab9f36ba4592b840259e6f80 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync b6ad4f3d27 [WINESYNC] reg: Remove unneeded ternary operator in RegDeleteValueW().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa24d458f5d9663fbefb1eb7406961b1c6ec3def by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync d472925c90 [WINESYNC] reg: Avoid non-portable Unicode character.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 495d9b5fb3ab5bab885f9fe80cd6952cc4bbca6c by Alexandre Julliard <julliard@winehq.org>
2022-06-19 13:06:32 +02:00
winesync a1c74056d1 [WINESYNC] reg: Only call get_long_key() when operations require it.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 07fdd5036ca40fd4f0475583b6e410192576d804 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync 091880d29b [WINESYNC] reg: Abort 'query' operation when parsing command-line arguments that are not switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c7d74594f2bd421f6d904f334171a198a13c66e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync fa6d473e3d [WINESYNC] reg: Abort 'delete' operation when parsing command-line arguments that are not switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 51e83dec2959ce332264223832abc1a5f09dbf34 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync 0a5bdf825b [WINESYNC] reg: Abort 'add' operation when parsing command-line arguments that are not switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b2ead1ffcc8d28b488b561e8c5a9e3cc964699a3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:32 +02:00
winesync 6c0f70db4d [WINESYNC] reg: Better indicate when a registry value is not found.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b80da20656feda99f9c6e749f5cd6d6f3c242cd3 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync 9a8e4a271a [WINESYNC] reg: Prepend 'reg:' to two message strings.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fbecd56db8889f9d349c2f807348cdddf397eab1 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync 235d5af3af [WINESYNC] reg: Add a new message to indicate when a registry key fails to import.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9b7a5cfb0e709e4434575daf960f803338bdf6bd by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync e11511da86 [WINESYNC] reg: Add a message to better indicate when a specified registry key is not found.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa2ed01352f8f027625d464915cd953e10766d73 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync 9b424b0080 [WINESYNC] reg: Improve initial syntax checks during the 'export' operation.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4df5c1641e7091f42c2313b275d999f2b9d25eff by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync ec55298764 [WINESYNC] reg: Use wide-char string literals in export.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1b746c1e1c4da4a07a1293fe9e60429867c86697 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync aae71dcb75 [WINESYNC] reg: Use wide-char string literals in import.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1fadcf240997f77b4bf31f708893051c94e299b2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync 5eb878fe9c [WINESYNC] reg: Use wide-char string literals.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0c73f95b336ba2ae4b49fa7f652c622ce47038c5 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:31 +02:00
winesync b1bb43c991 [WINESYNC] reg: Use RegCreateKeyExW() instead of RegCreateKeyW().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aaf503e1de3f476639113b7ab7988c8628529e03 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync cb66fe28ba [WINESYNC] reg: Fail if duplicate command-line switches are passed to 'reg add'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 08976b3ee0db827bc5add829de1f148da89a6362 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync 65957cc65b [WINESYNC] reg: Parse 'reg add' command-line arguments in add.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9138f5893c2eb7cafabdd8ed49b99a633eeda462 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync 409d7663c1 [WINESYNC] reg: Parse 'reg delete' command-line arguments in delete.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 434c345e41222ae6eebe734e655a32bfd51871ae by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync 89f0bf94a3 [WINESYNC] reg: Update a comment.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cb749592e728119bdd5a30a1080a90cf1a53546a by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync 6b9db85aaf [WINESYNC] reg: Use RegOpenKeyExW() instead of RegOpenKeyW().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eee0c1f8f97d2d77118abb692e277dd440eed693 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:31 +02:00
winesync 8dc46f32b0 [WINESYNC] reg: Fail if duplicate command-line switches are passed to 'reg query'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c84ec7ee04ab03883907691f115e01a7165b6e9 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync 354e15827d [WINESYNC] reg: Parse 'reg query' command-line arguments in query.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8e7738be92888c3aae19ab799d232d3f5112254c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync 1b3f59f879 [WINESYNC] reg: Add extended help for supported operations.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e319a463a20b060c059de36058624639e04c12a0 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:30 +02:00
winesync 949e2a8ccc [WINESYNC] reg/tests: Test whether a .reg file extension is required when exporting.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id cd03238dd0174382c503d7b6771e803d876a2fbf by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync 6d2c3a08bb [WINESYNC] reg/tests: Test whether overwriting a registry key modifies existing keys and values.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 89251073c7b7a919ca7c3450d53744921ac2979c by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync 26226dc572 [WINESYNC] reg/tests: Add tests for duplicate command-line switches.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a87a380a75723e0aa0e257c7efcc3024b56fb49d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync 68d5548fd5 [WINESYNC] reg: Use malloc(), realloc() and free() from stdlib.h instead of wine/heap.h.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id be718697a2e1b30944c019218ef635f6737503d5 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:30 +02:00
winesync 9b91b79551 [WINESYNC] reg: 'export' sorts before 'import'.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 42420f4d6c13cc4818e10c9b0cd9ee64c3715db3 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync fb4f651902 [WINESYNC] reg: Use 'argvW' array naming in export.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d37375e47033f92375ec4a431b5c3c2f28dd5829 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustment needed
2022-06-19 13:06:30 +02:00
winesync b4d8b76a2f [WINESYNC] reg: Move 'import' syntax checks to reg_import().
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4cbf47054fc7d95bcbab368fa53fc71908472309 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync f16c791548 [WINESYNC] reg: Simplify basic syntax checks.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8801118e384b7388a0fa5c43b5540bfd7f257ab6 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustments needed
2022-06-19 13:06:30 +02:00
winesync 01c1091e51 [WINESYNC] reg: Merge common header #includes into reg.h.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7803c53cfe6635a5d3e0d9f58e743235746ec9d2 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync fa84e69673 [WINESYNC] reg: Use is_switch() where possible.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ab94653e8bb093b88406f7c509c7157ac7033f28 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:30 +02:00
winesync bcb87edb6a [WINESYNC] reg: Split 'add' functions from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e7d92d5e97f89a409db0dd091419b4f1bfe7ed4 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync 6fc87692b3 [WINESYNC] reg: Split 'delete' functions from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 81a3eecc3c2e7ddced2f25cabc6de47101fd4fb1 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync 761c3c9835 [WINESYNC] reg: Split 'query' functions from reg.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b80de8721690947bcd2e86b658b261f201002039 by Hugh McMaster <hugh.mcmaster@outlook.com>

manual adjustments needed
2022-06-19 13:06:29 +02:00
winesync 1007673889 [WINESYNC] reg: Stop parsing REG_SZ values containing NUL character sequences.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 272d35afc6905dfdf1ffcf0ef2963e3bded1303d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync 252e8fd1c7 [WINESYNC] reg/tests: Try exporting registry values with escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 53fd4df85f004597161a26d86333755e7cbff0ff by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync 60a4a6313b [WINESYNC] reg/tests: Try importing registry files with escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1c2b96699973e198e72a01a969af0876387f08e1 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync dbff9b0183 [WINESYNC] reg/tests: Try deleting strings containing escaped null characters.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id aa98e3f6da78135ecffaa50bb78ad906dfd4570d by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync 2d45084d7f [WINESYNC] reg/tests: Always specify the expected exit code in error messages.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 73f69d66b342af4c8339c23739ebeb1ff359e78b by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync bfe2251b54 [WINESYNC] reg/tests: Update value names in 'add' overwrite test.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 37ad10d92ab71e69475bdf69ff3609fae5d701b7 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync 1e0e137f14 [WINESYNC] reg/tests: Add some tests for strings containing the characters backslash zero.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c5b7f04eea2d88ce8b2192168d0cb9dba340551f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync 8789d86699 [WINESYNC] reg/tests: Group REG_SZ default value tests.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f5c24e2c341f872c8ed45c347b2fb357f9cedd7e by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync 0790755208 [WINESYNC] reg/tests: Pass __FILE__ from the caller so the correct filename is shown in error logs.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e3a738b1562de68bd92c4be6bc948ea31f6a2d79 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:29 +02:00
winesync 0b6ea9f2d7 [WINESYNC] reg/tests: Comprehensively check for elevated privileges before starting Windows 3.1 import tests.
The existing check fails to adequately determine the program's elevation
status on systems where the test key already exists. This can cause all
Windows 3.1 import tests to fail on systems with a standard user account.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 17023a8100a62852bbad342e5e7c705cafae9a1f by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync 2161165dca [WINESYNC] reg/tests: Fix copy/paste typo in reg.exe availability check.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b369af9ac5861f0ec49933ef657a53feeafefc21 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00
winesync a09c8c41ee [WINESYNC] reg/tests: Rename reg.c to add.c.
Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3c2db20f66806074b047b0b3c76aa86ad79e3175 by Hugh McMaster <hugh.mcmaster@outlook.com>
2022-06-19 13:06:28 +02:00