From e91bfe440c1419b445ef6746552dd03ba302e6cf Mon Sep 17 00:00:00 2001 From: Sebastian Holtermann Date: Wed, 17 Jul 2019 16:20:58 +0200 Subject: cmMakefile: Let AddDefinition accept a value as cm::string_view This changes `cmMakefile::AddDefinition` to take a `cm::string_view` as value argument instead of a `const char *`. Benefits are: - `std::string` can be passed to `cmMakefile::AddDefinition` directly without the `c_str()` plus string length recomputation fallback. - Lengths of literals passed to `cmMakefile::AddDefinition` can be computed at compile time. In various sources uses of `cmMakefile::AddDefinition` are adapted to avoid `std::string::c_str` calls and the `std::string` is passed directly. Uses of `cmMakefile::AddDefinition`, where a `nullptr` `const char*` might be passed to `cmMakefile::AddDefinition` are extended with `nullptr` checks. --- Source/cmExecuteProcessCommand.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Source/cmExecuteProcessCommand.cxx') diff --git a/Source/cmExecuteProcessCommand.cxx b/Source/cmExecuteProcessCommand.cxx index 689fc2023e..8d91f433ca 100644 --- a/Source/cmExecuteProcessCommand.cxx +++ b/Source/cmExecuteProcessCommand.cxx @@ -332,7 +332,7 @@ bool cmExecuteProcessCommand::InitialPass(std::vector const& args, } } this->Makefile->AddDefinition(arguments.ResultsVariable, - cmJoin(res, ";").c_str()); + cmJoin(res, ";")); } break; case cmsysProcess_State_Exception: this->Makefile->AddDefinition(arguments.ResultsVariable, -- cgit v1.2.1