From 3d7029f1b4254403374cb1d8f5cbf2814f2c9ec4 Mon Sep 17 00:00:00 2001 From: Renaud G Date: Sat, 6 Dec 2014 10:14:43 +0100 Subject: -change API of displayResult to return QString --- diceparser.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'diceparser.cpp') diff --git a/diceparser.cpp b/diceparser.cpp index 4a259b2..c94c2b5 100644 --- a/diceparser.cpp +++ b/diceparser.cpp @@ -81,7 +81,6 @@ bool DiceParser::parseLine(QString str) bool keepParsing = readExpression(str,newNode); - while(keepParsing) { m_current->setNextNode(newNode); @@ -94,6 +93,7 @@ bool DiceParser::parseLine(QString str) m_current = getLatestNode(m_current); } return true; + } return false; @@ -152,6 +152,10 @@ bool DiceParser::readExpression(QString& str,ExecutionNode* & node) numberNode->setNextNode(diceNode); node = numberNode; } + else + { + return false; + } } return true; } @@ -160,7 +164,8 @@ void DiceParser::Start() { m_start->run(); } -void DiceParser::displayResult() + +QString DiceParser::displayResult() { ExecutionNode* next = m_start; @@ -240,6 +245,9 @@ void DiceParser::displayResult() out << str << "you rolled: " <setInternalNode(nodeExec); + if(NULL==nodeExec) + { + return false; + } if(node->getPriority()>=nodeExec->getPriority()) { node->setNextNode(nodeExec->getNextNode()); -- cgit v1.2.3-70-g09d2