summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2018-06-18 17:03:05 +0200
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2018-06-29 08:45:25 +0000
commitd5e5e15c1c817cbfa5da8f80f6fa0e08b913e82e (patch)
tree4963ef2c1309f0d8e922a3231fad2d3fc472ba06 /src/tools
parentce6c4349f7faca167f09f910952de9798352484e (diff)
Tracegen: code tidies
* Do not rely on the side-effect that QTextStream returns _null_ strings (rather than empty strings) to signal EOF; just check for it, making the code easier to read. * Scope a variable properly * Use the char-based functions, rather than string-based functions (e.g. QString::split(QChar), not QString::split(QString)) when we're actually passing just one character * Make error cases more verbose Change-Id: I415773a60ea1b9013193a9a77e52655a6459047d Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/tracegen/provider.cpp25
1 files changed, 9 insertions, 16 deletions
diff --git a/src/tools/tracegen/provider.cpp b/src/tools/tracegen/provider.cpp
index 9c26dbe72e..a6523a2e3d 100644
--- a/src/tools/tracegen/provider.cpp
+++ b/src/tools/tracegen/provider.cpp
@@ -272,35 +272,28 @@ Provider parseProvider(const QString &filename)
static const QRegExp tracedef(QStringLiteral("([A-Za-z][A-Za-z0-9_]*)\\((.*)\\)"));
- int lineNumber = 0;
-
Provider provider;
provider.name = QFileInfo(filename).baseName();
- for (;;) {
+ for (int lineNumber = 1; !s.atEnd(); ++lineNumber) {
QString line = s.readLine().trimmed();
- if (line.isNull())
- break;
-
- if (line.isEmpty() || line.startsWith(QStringLiteral("#"))) {
- ++lineNumber;
+ if (line.isEmpty() || line.startsWith(QLatin1Char('#')))
continue;
- }
if (tracedef.exactMatch(line)) {
const QString name = tracedef.cap(1);
- QStringList args = tracedef.cap(2).split(QStringLiteral(","), QString::SkipEmptyParts);
-
- if (args.at(0).isNull())
- args.clear();
+ const QString argsString = tracedef.cap(2);
+ const QStringList args = argsString.split(QLatin1Char(','),
+ QString::SkipEmptyParts);
provider.tracepoints << parseTracepoint(name, args, filename, lineNumber);
} else {
- panic("Syntax error whilre processing %s on line %d", qPrintable(filename), lineNumber);
+ panic("Syntax error while processing '%s' line %d:\n"
+ " '%s' does not look like a tracepoint definition",
+ qPrintable(filename), lineNumber,
+ qPrintable(line));
}
-
- ++lineNumber;
}
#ifdef TRACEGEN_DEBUG