Commit graph

9310 commits

Author SHA1 Message Date
Eric Pouech 6d6fee9dda cmd: Fix delay expansion in FOR loop for filesets.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-19 11:38:10 +02:00
Eric Pouech 2e2a3f4539 cmd: Split parsing from executing FOR loops for filesets (/F).
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-19 11:38:09 +02:00
Eric Pouech 53f7a59992 cmd: Fix delay expansion in FOR /L loops.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-19 11:38:07 +02:00
Eric Pouech 9ba05f5e5b cmd: Split parsing from executing FOR loops for numbers (/L).
Introducing CMD_FOR_CONTROL structure to store parsing output
for consumption in execution.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-19 11:38:05 +02:00
Eric Pouech 25a02d894f cmd: Introduce helpers to handle directory walk.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-17 21:50:00 +02:00
Eric Pouech 2b51e5aca0 cmd: Enable '%0' through '%9' as valid FOR loop variables.
Note: there are many other letters than can be used as variable names.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-17 21:49:57 +02:00
Eric Pouech dc7e8da528 cmd: Introduce helpers to save and restore FOR loop contexts.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-17 21:49:55 +02:00
Eric Pouech abcc2a1bc6 cmd: Introduce helpers to handle FOR variables.
This should let the code be agnostic to the supported variables.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-17 21:49:53 +02:00
Eric Pouech 85ca94be7c cmd: Add more tests about FOR loops.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-17 21:49:50 +02:00
Eric Pouech 80342a0c10 conhost: Support IME input in window mode.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-14 13:48:43 +02:00
Eric Pouech b85c6f5bbb conhost: Handle WM_CHAR for window console.
This lets some characters (like diacritics, generated by two keys,
(eg. circumflex-e on a French keyboard layout)) have usable
key-down INPUT_RECORD.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-14 13:48:43 +02:00
Eric Pouech 1890a3de3f cmd: Separate IF command parsing from execution.
Introducting CMD_IF_CONDITION to hold IF condition.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-04 22:22:01 +02:00
Eric Pouech 5388414923 cmd: Let errorlevel be a signed integer.
Manual testing show that native reports errorlevel as a signed
entity.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-04 22:22:01 +02:00
Eric Pouech 855642d565 cmd: Create helper to execute a command.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-04 22:22:01 +02:00
Eric Pouech a899caac7b cmd: Introduce structure CMD_REDIRECTION.
This structure will hold information for a redirection, and
can be chained in a list when multiple redirections are listed.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-04 22:22:01 +02:00
Eric Pouech 18d8c6fe52 cmd: Introduce a helper to set std handles.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-06-04 22:22:01 +02:00
Hans Leidekker cd780fe609 wmic: Add csproduct and systemenclosure aliases. 2024-06-03 23:24:59 +02:00
Hans Leidekker a293b2f23a wmic: Sort the alias list. 2024-06-03 23:24:59 +02:00
Eric Pouech b3fa23e88d conhost: Fix display of font preview in 64-bit mode.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-28 20:42:29 +02:00
Alexandre Julliard 83888e37df conhost: Fix a printf format warning. 2024-05-24 12:35:56 +02:00
Alexandre Julliard ecbc4cf06d wineboot: Retrieve CPU details through the SMBIOS table. 2024-05-14 13:25:16 +02:00
Alexandre Julliard 7097c614b2 wineboot: Support multiple SMBIOS entries of the same type. 2024-05-14 13:20:17 +02:00
Alexandre Julliard 73c798021b wineboot: Report the correct model number on ARM platforms. 2024-05-14 13:20:17 +02:00
Alexandre Julliard c50dc0512c wineboot: Get the CPU model details with NtQuerySystemInformation(SystemCpuInformation). 2024-05-14 13:20:17 +02:00
Alexandre Julliard c3b1259f75 wineboot: Create CPU environment keys together with other hardware keys. 2024-05-14 13:20:15 +02:00
Eric Pouech e6e1bbb410 cmd: Move operator from CMD_COMMAND to CMD_NODE.
For now, the tree is degenerated into a list (as it was before).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-13 21:09:45 +02:00
Eric Pouech 603e81a37a cmd: Add helpers to handle list in degenerated binary tree.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-13 21:09:43 +02:00
Eric Pouech 7e70824ed5 cmd: Introduce CMD_NODE structure.
This will allow to separate better the individual command to
be executed (CMD_COMMAND) from the chaining and I/O handling
of several commands (CMD_NODE).

This also renames CMD_LIST into CMD_COMMAND to fit in above
scheme.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-13 21:09:41 +02:00
Eric Pouech 508b3ac996 cmd: Remove malloc attribute from xrealloc.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-13 21:09:39 +02:00
Eric Pouech ae9bdbda3b cmd: Use CRT's popen instead of rewriting it.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-08 22:39:44 +02:00
Eric Pouech 93354bbd88 cmd: Introduce xrealloc helper.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-08 22:39:44 +02:00
Eric Pouech 76237079d1 cmd: No longer keep track of last element in command list.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-08 22:39:44 +02:00
Eric Pouech 371eda6c4c cmd: Consistenly use the same variable to identify current command.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-08 22:39:44 +02:00
Eric Pouech 6f0e9e5e4e cmd/tests: Test success/failure of commands.
The || and && operators to chain commands rely on the LHS command
to be successful (or unsucessful) to decide upon launching the RHS
command.

Unfortunately, success/failure is not always when errorlevel is
0 (non zero).

Some exmaples:
- if a redirection fails (eg. appending to a non existing file),
  the command (builtin/external) is always unsuccessful (and the
  error level is untouched,
- external command (when redirection is ok) is succesful when
  program exit code is zero,
- ditto for a call to a label inside the batch file, with
  the 'exit /b' parameter,
- it's way more complicated for builtins. Eg 'type' is unsuccessful
  on a non existing file, while 'dir' (on the same unexisting file)
  succeeds.

So start adding some tests about success / failure of some commands.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-07 22:49:45 +02:00
Eric Pouech 289c49ee21 cmd/tests: Test calling batch files named as builtin commands.
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-07 22:49:45 +02:00
Eric Pouech 8bbd48bfd8 cmd/tests: Test delayed expansion with spaces in IF and FOR.
Based on a patch by Alex Henrie.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-07 22:49:45 +02:00
Eric Pouech 232f282585 cmd/tests: Test nested loop variables expansion.
Based on a patch by Dimitry Sokolov.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-07 22:49:45 +02:00
Eric Pouech 14bdf6e725 cmd/tests: Test using %%0-%%9 as loop variables.
Based on a test case from Dimitry Sokolov.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-05-07 22:49:45 +02:00
Anton Baskanov 89ad36b1d9 explorer: Restore display settings on process exit.
Restore display settings to the ones in the registry when CDS_FULLSCREEN
is used in ChangeDisplaySettings().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49674
2024-05-02 10:06:57 +02:00
Alexandre Julliard 64923f3fee widl: Default to fully interpreted stubs mode. 2024-05-02 09:22:40 +02:00
Alexandre Julliard 4679ceb7ed systeminfo: Pass proper Unicode strings to fwprintf. 2024-04-29 17:35:26 +02:00
Alexandre Julliard cc038c1a40 services: Use fully interpreted IDL stubs. 2024-04-26 10:41:58 +02:00
Alexandre Julliard 3f4562e7e1 rpcss: Use fully interpreted IDL stubs. 2024-04-26 10:41:53 +02:00
Alexandre Julliard e26ed6bc99 plugplay: Use fully interpreted IDL stubs. 2024-04-26 10:41:49 +02:00
Alex Henrie 19e27e95b9 explorer: Fix font handle leaks in virtual desktop.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56133
2024-04-16 21:26:51 +02:00
Hans Leidekker bc52693f9a wmic: Handle multiple properties separated by whitespace. 2024-04-02 23:30:12 +02:00
Hans Leidekker ca629dec9b wmic: Handle failure from CommandLineToArgvW(). 2024-04-02 23:30:11 +02:00
Hans Leidekker 2b3bc20103 wmic: Strip spaces once. 2024-04-02 23:30:11 +02:00
Hans Leidekker c00da2e52d wmic: Make an error message more general. 2024-04-02 23:30:11 +02:00
Eric Pouech 7f60584a90 cmd: Fix substring expansion for 'magic' variables.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56498
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2024-04-01 09:08:56 +02:00