diff --git a/libwccl/parser/Parser.cpp b/libwccl/parser/Parser.cpp index 1cc17fa319b27d717ecea5350c02d71fb6f306f3..c314933f5f64cb1cb5b14746dc4a29c4808dc4a2 100644 --- a/libwccl/parser/Parser.cpp +++ b/libwccl/parser/Parser.cpp @@ -137,7 +137,7 @@ boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator( { boost::shared_ptr<ANTLRParserResultBase> result; if (!result) { - istr.seekg(0, std::ios::beg); + istr.seekg(0); ANTLRLexer lexer(istr); ANTLRParser parser(lexer); try { @@ -147,7 +147,8 @@ boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator( } } if (!result) { - istr.seekg(0, std::ios::beg); + istr.clear(); + istr.seekg(0); ANTLRLexer lexer(istr); ANTLRParser parser(lexer); try { @@ -157,7 +158,8 @@ boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator( } } if (!result) { - istr.seekg(0, std::ios::beg); + istr.clear(); + istr.seekg(0); ANTLRLexer lexer(istr); ANTLRParser parser(lexer); try {