summaryrefslogtreecommitdiffstats
path: root/Source/cmSystemTools.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmSystemTools.cxx')
-rw-r--r--Source/cmSystemTools.cxx14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index a6872f1..7ddb878 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -304,12 +304,18 @@ bool cmSystemTools::IsOn(const char* val)
bool cmSystemTools::IsNOTFOUND(const char* val)
{
- cmsys::RegularExpression reg("-NOTFOUND$");
- if(reg.find(val))
+ int len = strlen(val);
+ const char* notfound = "-NOTFOUND";
+ const int lenNotFound = 9;
+ if(len < lenNotFound-1)
{
- return true;
+ return false;
+ }
+ if(len == lenNotFound-1)
+ {
+ return ( strcmp(val, "NOTFOUND") == 0);
}
- return std::string("NOTFOUND") == val;
+ return ((strncmp((val + (len - lenNotFound)), notfound, lenNotFound) == 0));
}