summaryrefslogtreecommitdiffstats
path: root/Source/cmDependsFortranParser.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmDependsFortranParser.cxx')
-rw-r--r--Source/cmDependsFortranParser.cxx17
1 files changed, 14 insertions, 3 deletions
diff --git a/Source/cmDependsFortranParser.cxx b/Source/cmDependsFortranParser.cxx
index 67c278d..12caea4 100644
--- a/Source/cmDependsFortranParser.cxx
+++ b/Source/cmDependsFortranParser.cxx
@@ -183,7 +183,7 @@ Modify cmDependsFortranParser.cxx:
#define cmDependsFortranParser_cxx
#include "cmDependsFortranParser.h" /* Interface to parser object. */
#include "cmDependsFortranParserTokens.h" /* Need YYSTYPE for YY_DECL. */
-#include "cmSystemTools.h"
+#include <ctype.h> // for tolower
/* Configure the parser to use a lexer object. */
#define YYPARSE_PARAM yyscanner
@@ -205,8 +205,19 @@ static void cmDependsFortranError(yyscan_t yyscanner, const char* message)
static bool cmDependsFortranParserIsKeyword(const char* word,
const char* keyword)
{
- return (strlen(word) == strlen(keyword) &&
- cmSystemTools::LowerCase(word) == keyword);
+ size_t len = strlen(word);
+ if (len != strlen(keyword))
+ {
+ return false;
+ }
+ for (size_t i = 0; i < len; ++i)
+ {
+ if (tolower(word[i]) != tolower(keyword[i]))
+ {
+ return false;
+ }
+ }
+ return true;
}
/* Disable some warnings in the generated code. */