diff options
author | Matthias Maennich <matthias@maennich.net> | 2017-10-05 11:12:00 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-10-10 17:28:39 (GMT) |
commit | 5731f6d5b1986a7ee13e83ff73971a9f44e0229a (patch) | |
tree | 0049b2dbabb259bd4c6be5f697ac7760806b7a00 /Source/cmSetCommand.cxx | |
parent | cb8f26f199e18be231f40f523bfe64375e749e35 (diff) | |
download | CMake-5731f6d5b1986a7ee13e83ff73971a9f44e0229a.zip CMake-5731f6d5b1986a7ee13e83ff73971a9f44e0229a.tar.gz CMake-5731f6d5b1986a7ee13e83ff73971a9f44e0229a.tar.bz2 |
cm{Unset,Set}Command: use std::string to determine the env variable name
Diffstat (limited to 'Source/cmSetCommand.cxx')
-rw-r--r-- | Source/cmSetCommand.cxx | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/Source/cmSetCommand.cxx b/Source/cmSetCommand.cxx index b32cda3..985aac8 100644 --- a/Source/cmSetCommand.cxx +++ b/Source/cmSetCommand.cxx @@ -2,8 +2,6 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmSetCommand.h" -#include <string.h> - #include "cmAlgorithms.h" #include "cmMakefile.h" #include "cmState.h" @@ -22,19 +20,15 @@ bool cmSetCommand::InitialPass(std::vector<std::string> const& args, } // watch for ENV signatures - const char* variable = args[0].c_str(); // VAR is always first - if (cmHasLiteralPrefix(variable, "ENV{") && strlen(variable) > 5) { + auto const& variable = args[0]; // VAR is always first + if (cmHasLiteralPrefix(variable, "ENV{") && variable.size() > 5) { // what is the variable name - char* varName = new char[strlen(variable)]; - strncpy(varName, variable + 4, strlen(variable) - 5); - varName[strlen(variable) - 5] = '\0'; - std::string putEnvArg = varName; - putEnvArg += "="; + auto const& varName = variable.substr(4, variable.size() - 5); + std::string putEnvArg = varName + "="; // what is the current value if any std::string currValue; const bool currValueSet = cmSystemTools::GetEnv(varName, currValue); - delete[] varName; // will it be set to something, then set it if (args.size() > 1 && !args[1].empty()) { |