Module: wine Branch: master Commit: 2b3bc20103306c6b6e427caf37c4e59f87fdf9ea URL: https://gitlab.winehq.org/wine/wine/-/commit/2b3bc20103306c6b6e427caf37c4e59...
Author: Hans Leidekker hans@codeweavers.com Date: Tue Apr 2 14:44:41 2024 +0200
wmic: Strip spaces once.
---
programs/wmic/main.c | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/programs/wmic/main.c b/programs/wmic/main.c index 363b9af581f..c1a20384eb3 100644 --- a/programs/wmic/main.c +++ b/programs/wmic/main.c @@ -405,22 +405,25 @@ int __cdecl wmain(int argc, WCHAR *argv[])
while (fgetws(cmd, sizeof(cmd), stdin) != NULL) { - cmd[wcslen(cmd)-1] = 0; /* remove trailing '\n' */ + const WCHAR *stripped;
- WINE_TRACE("command: %s\n", debugstr_w(cmd)); - if (!wcsicmp( strip_spaces(cmd), L"exit" ) || !wcsicmp( strip_spaces(cmd), L"quit" )) + cmd[wcslen(cmd) - 1] = 0; /* remove trailing '\n' */ + stripped = strip_spaces( cmd ); + + WINE_TRACE("command: %s\n", debugstr_w(stripped)); + if (!wcsicmp( stripped, L"exit" ) || !wcsicmp( stripped, L"quit" )) return 0;
- if (!cmd[0]) + if (!stripped[0]) output_error( STRING_USAGE ); else { - int _argc; - WCHAR **_argv; + int new_argc; + WCHAR **new_argv;
- _argv = CommandLineToArgvW( strip_spaces(cmd), &_argc ); - ret = process_args( _argc, _argv ); - LocalFree(_argv); + new_argv = CommandLineToArgvW( stripped, &new_argc ); + ret = process_args( new_argc, new_argv ); + LocalFree( new_argv );
output_newline(); } @@ -429,5 +432,5 @@ int __cdecl wmain(int argc, WCHAR *argv[]) return ret; }
- return process_args( argc - 1, &argv[1] ); + return process_args( argc - 1, argv + 1 ); }