From ffe1132407c021fcbb55a3f8ed1f29062068238b Mon Sep 17 00:00:00 2001 From: Ken Martin Date: Tue, 1 Oct 2002 13:00:30 -0400 Subject: [PATCH] Put quotes around arguments if they have spaces and no quotes --- Source/cmw9xcom.cxx | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Source/cmw9xcom.cxx b/Source/cmw9xcom.cxx index bf32430a1..0f2b40383 100644 --- a/Source/cmw9xcom.cxx +++ b/Source/cmw9xcom.cxx @@ -25,13 +25,25 @@ int main (int argc, char *argv[]) std::cerr << "Usage: " << argv[0] << " executable" << std::endl; return 1; } - std::string command = argv[1]; + std::string arg = argv[1]; + if ( (arg.find_first_of(" ") != arg.npos) && + (arg.find_first_of("\"") == arg.npos) ) + { + arg = "\"" + arg + "\""; + } + std::string command = arg; int cc; for ( cc = 2; cc < argc; cc ++ ) { + std::string arg = argv[cc]; + if ( (arg.find_first_of(" ") != arg.npos) && + (arg.find_first_of("\"") == arg.npos) ) + { + arg = "\"" + arg + "\""; + } command += " "; - command += argv[cc]; + command += arg; } - + return cmWin32ProcessExecution::Windows9xHack(command.c_str()); }