From ee6929c7f0778fe532fbfe4f17ea9a202bd808bd Mon Sep 17 00:00:00 2001 From: Gary Talent <gary@drinkingtea.net> Date: Sun, 25 Apr 2021 15:01:11 -0500 Subject: [PATCH] [ox/claw] Cleanup error handling --- deps/ox/src/ox/claw/read.hpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/deps/ox/src/ox/claw/read.hpp b/deps/ox/src/ox/claw/read.hpp index c72e542b..24f45c89 100644 --- a/deps/ox/src/ox/claw/read.hpp +++ b/deps/ox/src/ox/claw/read.hpp @@ -37,18 +37,17 @@ Result<Vector<char>> stripClawHeader(const char *buff, std::size_t buffLen) noex template<typename T> Error readClaw(const char *buff, std::size_t buffLen, T *val) { - auto header = detail::readHeader(buff, buffLen); - oxReturnError(header); - switch (header.value.fmt) { + oxRequire(header, detail::readHeader(buff, buffLen)); + switch (header.fmt) { case ClawFormat::Metal: { - MetalClawReader reader(bit_cast<uint8_t*>(header.value.data), buffLen); + MetalClawReader reader(bit_cast<uint8_t*>(header.data), buffLen); return model(&reader, val); } #ifdef OX_USE_STDLIB case ClawFormat::Organic: { - OrganicClawReader reader(bit_cast<uint8_t*>(header.value.data), buffLen); + OrganicClawReader reader(bit_cast<uint8_t*>(header.data), buffLen); return model(&reader, val); } #endif