diff options
author | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2009-08-18 17:23:09 (GMT) |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@nokia.com> | 2009-09-23 13:44:26 (GMT) |
commit | 2bc1550b3dfe05353c2cb72f9d980c67e68aceaf (patch) | |
tree | 5cb2e4d83215a702bf8782ac52473d409b7a9309 /tools/linguist/lupdate | |
parent | 5bd5154ae0095a3e166e8be9347c613b2194e0be (diff) | |
download | Qt-2bc1550b3dfe05353c2cb72f9d980c67e68aceaf.zip Qt-2bc1550b3dfe05353c2cb72f9d980c67e68aceaf.tar.gz Qt-2bc1550b3dfe05353c2cb72f9d980c67e68aceaf.tar.bz2 |
avoid isalpha() & isalnum()
they are surprisingly expensive
Diffstat (limited to 'tools/linguist/lupdate')
-rw-r--r-- | tools/linguist/lupdate/cpp.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/linguist/lupdate/cpp.cpp b/tools/linguist/lupdate/cpp.cpp index e72f1c9..c224e2f 100644 --- a/tools/linguist/lupdate/cpp.cpp +++ b/tools/linguist/lupdate/cpp.cpp @@ -561,12 +561,13 @@ uint CppParser::getToken() } } while (yyCh != '\n' && yyCh != EOF); yyCh = getChar(); - } else if (isalpha(yyCh) || yyCh == '_') { + } else if ((yyCh >= 'A' && yyCh <= 'Z') || (yyCh >= 'a' && yyCh <= 'z') || yyCh == '_') { ushort *ptr = (ushort *)yyWord.unicode(); do { *ptr++ = yyCh; yyCh = getChar(); - } while (isalnum(yyCh) || yyCh == '_'); + } while ((yyCh >= 'A' && yyCh <= 'Z') || (yyCh >= 'a' && yyCh <= 'z') + || (yyCh >= '0' && yyCh <= '9') || yyCh == '_'); yyWord.resize(ptr - (ushort *)yyWord.unicode()); //qDebug() << "IDENT: " << yyWord; |