diff options
Diffstat (limited to 'binparse/parse.cpp')
| -rw-r--r-- | binparse/parse.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/binparse/parse.cpp b/binparse/parse.cpp index cf7c0be..a26e72e 100644 --- a/binparse/parse.cpp +++ b/binparse/parse.cpp @@ -90,6 +90,14 @@ Offset32 parse<Offset32>(std::istream& is, std::string name) { } template<> +PString8 parse<PString8>(std::istream& is, std::string name) { + uint8_t len = parse<uint8_t>(is, name + "_len"); + std::vector<char> data(len, 0); + is.read(data.data(), len); + return PString8(std::string(data.begin(), data.end())); +} + +template<> std::array<uint8_t, 8> parse<std::array<uint8_t, 8>>(std::istream& is, std::string name) { if(!is) { throw UnexpectedEOS(); |
