summaryrefslogtreecommitdiffstats
path: root/util/normalize/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'util/normalize/main.cpp')
-rw-r--r--util/normalize/main.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/util/normalize/main.cpp b/util/normalize/main.cpp
index aa5edd6..b4bfd81 100644
--- a/util/normalize/main.cpp
+++ b/util/normalize/main.cpp
@@ -74,13 +74,24 @@ QString signature(const QString &line, int pos)
return QString();
}
+bool isValidIdentifierChar(const QChar c)
+{
+ return c == QLatin1Char('_') || c.isLetterOrNumber();
+}
+
bool checkSignature(const QString &fileName, QString &line, const char *sig)
{
static QStringList fileList;
+ const int siglen = strlen(sig);
int idx = -1;
bool found = false;
while ((idx = line.indexOf(sig, ++idx)) != -1) {
+ if (idx > 0 && isValidIdentifierChar(line.at(idx - 1)))
+ continue;
+ int endIdx = idx + siglen;
+ if (endIdx < line.length() && isValidIdentifierChar(line.at(endIdx)))
+ continue;
const QByteArray sl(signature(line, idx).toLocal8Bit());
QByteArray nsl(QMetaObject::normalizedSignature(sl.constData()));
if (sl != nsl) {