X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinaryparser.cpp;h=53131289a851b04270e377e8abb5b61b49832b5c;hb=818ead7b6ccef1e4d2435cc959bc07f910fcde46;hp=550319f46d0a7af21bd939b477adaac1047101c8;hpb=d14b7ddd81404b909a4c4763a36a23b94998a089;p=libs%2Fdatafile.git diff --git a/source/binaryparser.cpp b/source/binaryparser.cpp index 550319f..5313128 100644 --- a/source/binaryparser.cpp +++ b/source/binaryparser.cpp @@ -89,7 +89,7 @@ Statement BinaryParser::parse_statement() result.args.push_back(parse_bool()); break; case SymbolType::signature: - result.args.push_back(Symbol(parse_enum())); + result.args.push_back(parse_symbol()); break; } } @@ -103,9 +103,9 @@ Statement BinaryParser::parse_statement() return result; } -long long BinaryParser::parse_int() +IntType::Store BinaryParser::parse_int() { - long long result = 0; + IntType::Store result = 0; unsigned bits = 0; while(in) @@ -119,13 +119,13 @@ long long BinaryParser::parse_int() break; } - const long long mask = 1LL<<(bits-1); + const IntType::Store mask = 1LL<<(bits-1); result = (result^mask)-mask; return result; } -float BinaryParser::parse_float() +FloatType::Store BinaryParser::parse_float() { union { @@ -144,12 +144,12 @@ float BinaryParser::parse_float() return f; } -bool BinaryParser::parse_bool() +BoolType::Store BinaryParser::parse_bool() { return in.get(); } -string BinaryParser::parse_string() +StringType::Store BinaryParser::parse_string() { int len = parse_int(); if(len>=0) @@ -164,7 +164,7 @@ string BinaryParser::parse_string() return get_item(strings, -len); } -string BinaryParser::parse_enum() +SymbolType::Store BinaryParser::parse_symbol() { return get_item(strings, parse_int()); }