X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinaryparser.cpp;h=b55c7af3e1a8c76bc8f6c2c0855a4cea6fea7e17;hb=08576b49c8bfb6cd841724dc5124d40af9475eb8;hp=6aed5b1590bb93b383fb45c535a6cd75af94a030;hpb=505042fcda16151f5ace243c243d34af3efcf677;p=libs%2Fdatafile.git diff --git a/source/binaryparser.cpp b/source/binaryparser.cpp index 6aed5b1..b55c7af 100644 --- a/source/binaryparser.cpp +++ b/source/binaryparser.cpp @@ -87,7 +87,7 @@ Statement BinaryParser::parse_statement() result.args.push_back(parse_bool()); break; case 'e': - result.args.push_back(parse_enum()); + result.args.push_back(Value(ENUM, parse_enum())); break; } } @@ -110,7 +110,7 @@ long long BinaryParser::parse_int() { int c=in.get(); - result=result<<7 | c&0x7F; + result=(result<<7) | (c&0x7F); bits+=7; if(!(c&0x80)) @@ -132,7 +132,7 @@ float BinaryParser::parse_float() }; #if BYTE_ORDER == LITTLE_ENDIAN - for(unsigned i=sizeof(float)-1; i--;) + for(unsigned i=sizeof(float); i--;) d[i]=in.get(); #else for(unsigned i=0; isecond; }