From 2651d170d554040502b330c41acccbfddbd8122e Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 17 Feb 2005 07:53:57 -0500 Subject: [PATCH] BUG: Removing "guess when there is a space in the path" check for chdir command. It is the responsibility of the caller of the command to ensure the arguments are properly quoted on the command line. --- Source/cmake.cxx | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 0e0cce8820..e5d59831c3 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -774,27 +774,21 @@ int cmake::CMakeCommand(std::vector& args) return 0; } - // Clock command + // Command to change directory and run a program. else if (args[1] == "chdir" && args.size() >= 4) { std::string directory = args[2]; - unsigned pos = 3; if(!cmSystemTools::FileExists(directory.c_str())) { - directory += " "; - directory += args[3]; - if(!cmSystemTools::FileExists(directory.c_str())) - { - cmSystemTools::Error("Directory does not exist for chdir command (try1): ", args[2].c_str()); - cmSystemTools::Error("Directory does not exist for chdir command (try2): ", directory.c_str()); - } - pos = 4; + cmSystemTools::Error("Directory does not exist for chdir command: ", + args[2].c_str()); + return 0; } - + std::string command = "\""; - command += args[pos]; + command += args[3]; command += "\""; - for (std::string::size_type cc = pos+1; cc < args.size(); cc ++) + for (std::string::size_type cc = 4; cc < args.size(); cc ++) { command += " \""; command += args[cc];