Skip to content

Commit

Permalink
PcfObserver::parsePcfFile parse lines in uniform way, not relying on …
Browse files Browse the repository at this point in the history
…specific line ending separator
  • Loading branch information
w0lek committed Sep 12, 2024
1 parent c0616d4 commit c8390cd
Showing 1 changed file with 22 additions and 16 deletions.
38 changes: 22 additions & 16 deletions src/PinAssignment/PcfObserver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,24 +78,30 @@ QList<PcfLineFrame> PcfObserver::parsePcfFile(const QString& filePath)

QFile file{filePath};
if (file.open(QFile::ReadOnly)) {
QList<QString> lines = QtUtils::StringSplit(QString{file.readAll()}, '\n');
QList<QString> lines;

QTextStream in(&file);
int lineCount = 1;
for (const QString& line: lines) {
PcfLineFrame frame;
frame.lineNum = lineCount;
frame.line = line;
QList<QString> elements = QtUtils::StringSplit(line, ' ');
if (elements.size() > 0) {
frame.cmd = elements.at(0);
}
if (elements.size() > 1) {
frame.port = elements.at(1);
while (!in.atEnd()) {
QString line{in.readLine()};

if (!line.isEmpty()) {
PcfLineFrame frame;
frame.lineNum = lineCount;
frame.line = line;
QList<QString> elements = QtUtils::StringSplit(line, ' ');
if (elements.size() > 0) {
frame.cmd = elements.at(0);
}
if (elements.size() > 1) {
frame.port = elements.at(1);
}
if (elements.size() > 2) {
frame.pin = elements.at(2);
}

lineFrames.append(frame);
}
if (elements.size() > 2) {
frame.pin = elements.at(2);
}

lineFrames.append(frame);

lineCount++;
}
Expand Down

0 comments on commit c8390cd

Please sign in to comment.