From e63a7034f0386789628dcb940d99ec6436d21128 Mon Sep 17 00:00:00 2001 From: laanwj <126646+laanwj@users.noreply.github.com> Date: Tue, 20 May 2025 11:53:32 +0100 Subject: [PATCH] subprocess: Don't add an extra whitespace at end of Windows command line The windows code adds an unnecessary extra space to the command line. This can cause subtle issues, so avoid it. Github-Pull: arun11299/cpp-subprocess#119 Rebased-From: 777cfa77d1f84bb08b3e445d5f7fc6c87282223b --- src/util/subprocess.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/util/subprocess.h b/src/util/subprocess.h index c45a570d5f1..ff812d7c1a9 100644 --- a/src/util/subprocess.h +++ b/src/util/subprocess.h @@ -1124,11 +1124,16 @@ inline void Popen::execute_process() noexcept(false) std::wstring_convert> converter; std::wstring argument; std::wstring command_line; + bool first_arg = true; for (auto arg : this->vargs_) { + if (!first_arg) { + command_line += L" "; + } else { + first_arg = false; + } argument = converter.from_bytes(arg); util::quote_argument(argument, command_line, false); - command_line += L" "; } // CreateProcessW can modify szCmdLine so we allocate needed memory