diff --git a/deps/ox/src/ox/clargs/clargs.cpp b/deps/ox/src/ox/clargs/clargs.cpp index 3915c007a..72ed399ce 100644 --- a/deps/ox/src/ox/clargs/clargs.cpp +++ b/deps/ox/src/ox/clargs/clargs.cpp @@ -39,32 +39,32 @@ ClArgs::ClArgs(int argc, const char **args) noexcept { bool ClArgs::getBool(const char *arg, bool defaultValue) const noexcept { auto [value, err] = m_ints.at(arg); - return !err ? *value : defaultValue; + return !err ? value : defaultValue; } String ClArgs::getString(const char *arg, const char *defaultValue) const noexcept { auto [value, err] = m_strings.at(arg); - return !err ? *value : defaultValue; + return !err ? value : defaultValue; } int ClArgs::getInt(const char *arg, int defaultValue) const noexcept { auto [value, err] = m_ints.at(arg); - return !err ? *value : defaultValue; + return !err ? value : defaultValue; } Result ClArgs::getBool(const char *arg) const noexcept { oxRequire(out, m_bools.at(arg)); - return *out; + return out; } Result ClArgs::getString(const char *argName) const noexcept { oxRequire(out, m_strings.at(argName)); - return *out; + return out; } Result ClArgs::getInt(const char *arg) const noexcept { oxRequire(out, m_ints.at(arg)); - return *out; + return out; } } diff --git a/deps/ox/src/ox/std/hashmap.hpp b/deps/ox/src/ox/std/hashmap.hpp index a1408d3a1..62e22d9c7 100644 --- a/deps/ox/src/ox/std/hashmap.hpp +++ b/deps/ox/src/ox/std/hashmap.hpp @@ -46,12 +46,12 @@ class HashMap { /** * K is assumed to be a null terminated string. */ - Result at(K key); + Result at(K key); /** * K is assumed to be a null terminated string. */ - Result at(K key) const; + Result at(K key) const; bool contains(K key) const; @@ -132,21 +132,23 @@ T &HashMap::operator[](K k) { } template -Result HashMap::at(K k) { +Result HashMap::at(K k) { auto p = access(m_pairs, k); if (!p) { - return {nullptr, OxError(1, "Value not found for key")}; + AllocAlias v; + return {*bit_cast(&v), OxError(1)}; } - return &p->value; + return p->value; } template -Result HashMap::at(K k) const { +Result HashMap::at(K k) const { auto p = access(m_pairs, k); if (!p) { - return OxError(1, "Value not found for key"); + AllocAlias v; + return {*bit_cast(&v), OxError(1)}; } - return &p->value; + return p->value; } template