[ox] Add const char *const* fieldString handlers to OC and MC writers
This commit is contained in:
10
deps/ox/src/ox/mc/write.hpp
vendored
10
deps/ox/src/ox/mc/write.hpp
vendored
@@ -76,10 +76,12 @@ class MetalClawWriter {
|
||||
template<std::size_t L>
|
||||
constexpr Error field(const char*, BString<L> *val) noexcept;
|
||||
|
||||
constexpr Error fieldCString(const char *name, const char **val, std::size_t buffLen) noexcept;
|
||||
constexpr Error fieldCString(const char *name, const char *const*val, std::size_t buffLen) noexcept;
|
||||
|
||||
constexpr Error fieldCString(const char *name, const char **val) noexcept;
|
||||
|
||||
constexpr Error fieldCString(const char *name, const char *const*val) noexcept;
|
||||
|
||||
constexpr Error fieldCString(const char *name, const char *val, std::size_t len) noexcept;
|
||||
|
||||
constexpr Error fieldCString(const char *name, char **val, std::size_t buffLen) noexcept {
|
||||
@@ -223,7 +225,7 @@ constexpr Error MetalClawWriter::field(const char *name, BString<L> *val) noexce
|
||||
return fieldCString(name, val->data(), val->cap());
|
||||
}
|
||||
|
||||
constexpr Error MetalClawWriter::fieldCString(const char*, const char **val, std::size_t) noexcept {
|
||||
constexpr Error MetalClawWriter::fieldCString(const char*, const char *const*val, std::size_t) noexcept {
|
||||
bool fieldSet = false;
|
||||
if (m_unionIdx == -1 || m_unionIdx == m_field) {
|
||||
const auto strLen = *val ? ox_strlen(*val) : 0;
|
||||
@@ -249,6 +251,10 @@ constexpr Error MetalClawWriter::fieldCString(const char *name, const char **val
|
||||
return fieldCString(name, val, {});
|
||||
}
|
||||
|
||||
constexpr Error MetalClawWriter::fieldCString(const char *name, const char *const*val) noexcept {
|
||||
return fieldCString(name, val, {});
|
||||
}
|
||||
|
||||
constexpr Error MetalClawWriter::fieldCString(const char*, const char *val, std::size_t strLen) noexcept {
|
||||
bool fieldSet = false;
|
||||
if (strLen && (m_unionIdx == -1 || m_unionIdx == m_field)) {
|
||||
|
||||
Reference in New Issue
Block a user