From 7c6eb8f4f98740fffd087030b24e293b893c3078 Mon Sep 17 00:00:00 2001 From: Collin Kidder Date: Thu, 27 Aug 2015 21:48:33 -0400 Subject: [PATCH] Fixed a bug where the last entry in a value table was not loaded. --- dbchandler.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dbchandler.cpp b/dbchandler.cpp index 1abeaa2..db6257e 100644 --- a/dbchandler.cpp +++ b/dbchandler.cpp @@ -217,7 +217,7 @@ void DBCHandler::loadDBCFile(QString filename) DBC_VAL val; while (tokenString.length() > 2) { - regex.setPattern("(\\d+) \\\"(.*?)\\\" (.*)"); + regex.setPattern("(\\d+) \\\"(.*?)\\\"(.*)"); match = regex.match(tokenString); if (match.hasMatch()) { @@ -225,7 +225,9 @@ void DBCHandler::loadDBCFile(QString filename) val.descript = match.captured(2); //qDebug() << "sig val " << val.value << " desc " <valList.append(val); - tokenString = tokenString.right(tokenString.length() - match.captured(1).length() - match.captured(2).length() - 4); + int rightSize = tokenString.length() - match.captured(1).length() - match.captured(2).length() - 4; + if (rightSize > 0) tokenString = tokenString.right(rightSize); + else tokenString = ""; //qDebug() << "New token string: " << tokenString; } else tokenString = "";