X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinaryparser.cpp;h=d2fca32ef3a2155eb78eec3034e67649336c3c0f;hb=67146b1b3bcb7d02307dcd4cc8b88cf778b41205;hp=4d510c58c0347a85aa0c13cb9b5603ca6debcf1e;hpb=a582163d380833b1370ba067a1fd0ad5c2984723;p=libs%2Fdatafile.git diff --git a/source/binaryparser.cpp b/source/binaryparser.cpp index 4d510c5..d2fca32 100644 --- a/source/binaryparser.cpp +++ b/source/binaryparser.cpp @@ -1,12 +1,6 @@ -/* $Id$ - -This file is part of libmspdatafile -Copyright © 2007-2008 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #include -#include +#include +#include #include "binaryparser.h" #include "input.h" @@ -61,10 +55,7 @@ Statement BinaryParser::parse_statement() if(!in) return Statement(); - Dictionary::const_iterator i = dict.find(id); - if(i==dict.end()) - throw_at(KeyError("Unknown statement ID", lexical_cast(id)), src); - const DictEntry &de = i->second; + const DictEntry &de = get_item(dict, id); Statement result; result.keyword = de.keyword; @@ -159,20 +150,12 @@ string BinaryParser::parse_string() return result; } else - return lookup_string(-len); + return get_item(strings, -len); } string BinaryParser::parse_enum() { - return lookup_string(parse_int()); -} - -const string &BinaryParser::lookup_string(unsigned id) const -{ - StringMap::const_iterator i = strings.find(id); - if(i==strings.end()) - throw_at(KeyError("Unknown string", lexical_cast(id)), src); - return i->second; + return get_item(strings, parse_int()); } } // namespace DataFile