From 4a9e404946bf039b0a97d60ab6e71c3e449fb00f Mon Sep 17 00:00:00 2001
From: ilor <kailoran@gmail.com>
Date: Mon, 29 Nov 2010 12:19:11 +0100
Subject: [PATCH] clear sstreams before seekg'ing them in
 Parser::parse_any_operator

---
 libwccl/parser/Parser.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libwccl/parser/Parser.cpp b/libwccl/parser/Parser.cpp
index 94d6014..3551d42 100644
--- a/libwccl/parser/Parser.cpp
+++ b/libwccl/parser/Parser.cpp
@@ -139,6 +139,7 @@ boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator(
 	std::stringstream errors;
 	boost::shared_ptr<ANTLRParserResultBase> result;
 	if (!result) {
+		ss.clear();
 		ss.seekg(0, std::ios::beg);
 		ANTLRLexer lexer(ss);
 		ANTLRParser parser(lexer);
@@ -150,6 +151,7 @@ boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator(
 		}
 	}
 	if (!result) {
+		ss.clear();
 		ss.seekg(0, std::ios::beg);
 		ANTLRLexer lexer(ss);
 		ANTLRParser parser(lexer);
@@ -161,6 +163,7 @@ boost::shared_ptr<ANTLRParserResultBase> Parser::parseAnyOperator(
 		}
 	}
 	if (!result) {
+		ss.clear();
 		ss.seekg(0, std::ios::beg);
 		ANTLRLexer lexer(ss);
 		ANTLRParser parser(lexer);
-- 
GitLab