diff --git a/core/sessionparser.cpp b/core/sessionparser.cpp index 3413311..47bb977 100755 --- a/core/sessionparser.cpp +++ b/core/sessionparser.cpp @@ -134,15 +134,25 @@ void SessionParser::SkipLine() long SessionParser::ReadLong() { long res = 0; +bool is_sign = false; SkipWhite(); + if( last == '-' ) + { + is_sign = true; + last = file.get(); + } + while( IsDigit(last) ) { res = res*10 + (last-'0'); last = file.get(); } + if( is_sign ) + res = -res; + return res; }