diff options
Diffstat (limited to 'Source/cmStringCommand.cxx')
-rw-r--r-- | Source/cmStringCommand.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/Source/cmStringCommand.cxx b/Source/cmStringCommand.cxx index f746f82..7ef39af 100644 --- a/Source/cmStringCommand.cxx +++ b/Source/cmStringCommand.cxx @@ -675,8 +675,20 @@ bool cmStringCommand::HandleStripCommand( ++ ptr; } - size_t outLength = endPos - startPos + 1; - + size_t outLength = 0; + + // if the input string didn't contain any non-space characters, return + // an empty string + if (startPos > inStringLength) + { + outLength = 0; + startPos = 0; + } + else + { + outLength=endPos - startPos + 1; + } + this->Makefile->AddDefinition(variableName.c_str(), stringValue.substr(startPos, outLength).c_str()); return true; |