From 569b2ae9cdb809c1b07c84467e0308160a6df2b9 Mon Sep 17 00:00:00 2001 From: Erik Lax Date: Wed, 23 Jan 2013 18:27:28 +0100 Subject: [PATCH] Fixed #4505 (test/testtokenize.cpp: Assertion failed in 'make check') --- lib/tokenlist.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/lib/tokenlist.cpp b/lib/tokenlist.cpp index dc99d271a..de6c43ae7 100644 --- a/lib/tokenlist.cpp +++ b/lib/tokenlist.cpp @@ -294,19 +294,11 @@ bool TokenList::createTokens(std::istream &code, const std::string& file0) std::getline(code, line); // Update the current line number - std::string::size_type n = 0; - while (n < line.size() && std::isspace(line[n])) - ++n; - if (n == line.size()) + unsigned int row; + if (!(std::stringstream(line) >> row)) ++lineno; - else { - while (n < line.size() && std::isdigit(line[n])) - ++n; - if (n < line.size() && !std::isspace(line[n])) - ++lineno; - else - std::istringstream(line) >> lineno; - } + else + lineno = row; CurrentToken.clear(); continue; } else if (CurrentToken == "#endfile") {