diff --git a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C index ca11e5e2b9..d094b9b041 100644 --- a/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C +++ b/src/OpenFOAM/db/IOstreams/Tstreams/ITstream.C @@ -79,7 +79,7 @@ Foam::Istream& Foam::ITstream::read(token& t) { FatalIOErrorIn ( - "ITstream::read(token& t)", + "ITstream::read(token&)", *this ) << "attempt to read beyond EOF" << exit(FatalIOError); @@ -91,17 +91,16 @@ Foam::Istream& Foam::ITstream::read(token& t) setEof(); } + t = token::undefinedToken; + if (size()) { - token::undefinedToken.lineNumber() - = operator[](size() - 1).lineNumber(); + t.lineNumber() = tokenList::last().lineNumber(); } else { - token::undefinedToken.lineNumber() = lineNumber(); + t.lineNumber() = lineNumber(); } - - t = token::undefinedToken; } return *this; @@ -110,7 +109,7 @@ Foam::Istream& Foam::ITstream::read(token& t) Foam::Istream& Foam::ITstream::read(char&) { - notImplemented("Istream& ITstream::read(char& c)"); + notImplemented("Istream& ITstream::read(char&)"); return *this; } @@ -157,14 +156,13 @@ Foam::Istream& Foam::ITstream::read(char*, std::streamsize) } -// Rewind the token stream so that it may be read again Foam::Istream& Foam::ITstream::rewind() { tokenIndex_ = 0; if (size()) { - lineNumber_ = operator[](0).lineNumber(); + lineNumber_ = tokenList::first().lineNumber(); } setGood();