From 730cf0806a0e9bd123ccb3c97a3f9b7a93fe317c Mon Sep 17 00:00:00 2001 From: mniip Date: Thu, 3 May 2018 04:55:20 +0300 Subject: [PATCH] Fix number to string conversion failing after a failed string to number conversion --- src/common/String.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/common/String.cpp b/src/common/String.cpp index c50f5fa34..e36003cc9 100644 --- a/src/common/String.cpp +++ b/src/common/String.cpp @@ -399,6 +399,7 @@ String::Split String::SplitSigned(long long int &value, size_t pos, std::ios_bas LocaleImpl.wstream >> value; if(LocaleImpl.wstream.fail()) { + LocaleImpl.wstream.clear(); LocaleImpl.FlushWStream(); return Split(*this, pos, npos, 0, false); } @@ -414,6 +415,7 @@ String::Split String::SplitUnsigned(unsigned long long int &value, size_t pos, s LocaleImpl.wstream >> value; if(LocaleImpl.wstream.fail()) { + LocaleImpl.wstream.clear(); LocaleImpl.FlushWStream(); return Split(*this, pos, npos, 0, false); } @@ -429,6 +431,7 @@ String::Split String::SplitFloat(double &value, size_t pos, std::ios_base::fmtfl LocaleImpl.wstream >> value; if(LocaleImpl.wstream.fail()) { + LocaleImpl.wstream.clear(); LocaleImpl.FlushWStream(); return Split(*this, pos, npos, 0, false); }