From ba7e84c936c4aa87de66beae5716c47256d115cd Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Sat, 17 Dec 2022 15:44:17 -0500 Subject: [PATCH] Fixes --- indra/llcommon/llassettype.cpp | 4 ++-- indra/llcommon/llsd.h | 4 ++-- indra/llcommon/llstring.h | 4 ++++ indra/llcommon/lluuid.cpp | 2 +- indra/llui/llui.cpp | 2 +- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/indra/llcommon/llassettype.cpp b/indra/llcommon/llassettype.cpp index c344f1da710..82a0f983b77 100644 --- a/indra/llcommon/llassettype.cpp +++ b/indra/llcommon/llassettype.cpp @@ -142,7 +142,7 @@ const char *LLAssetType::lookup(LLAssetType::EType asset_type) // static LLAssetType::EType LLAssetType::lookup(const char* name) { - return lookup(ll_safe_string(name)); + return lookup(al::safe_string_view(name)); } // static @@ -180,7 +180,7 @@ const char *LLAssetType::lookupHumanReadable(LLAssetType::EType asset_type) // static LLAssetType::EType LLAssetType::lookupHumanReadable(const char* name) { - return lookupHumanReadable(ll_safe_string(name)); + return lookupHumanReadable(al::safe_string_view(name)); } // static diff --git a/indra/llcommon/llsd.h b/indra/llcommon/llsd.h index 3d1917b043f..3a44c758779 100644 --- a/indra/llcommon/llsd.h +++ b/indra/llcommon/llsd.h @@ -314,9 +314,9 @@ class LL_COMMON_API LLSD final LLSD& with(const String&, const LLSD&); LLSD& operator[](const std::string_view); - LLSD& operator[](const char* c) { return (*this)[std::string_view(c)]; } + LLSD& operator[](const char* c) { return (*this)[al::safe_string_view(c)]; } const LLSD& operator[](const std::string_view) const; - const LLSD& operator[](const char* c) const { return (*this)[std::string_view(c)]; } + const LLSD& operator[](const char* c) const { return (*this)[al::safe_string_view(c)]; } //@} /** @name Array Values */ diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h index c4316d8a4a2..155075731b8 100644 --- a/indra/llcommon/llstring.h +++ b/indra/llcommon/llstring.h @@ -162,6 +162,10 @@ namespace al [[nodiscard]] size_t operator()(std::string_view txt) const { return hash_type{}(txt); } [[nodiscard]] size_t operator()(const std::string& txt) const { return hash_type{}(txt); } }; + + inline std::string_view safe_string_view(const char* p) { + return p ? std::string_view(p) : std::string_view(); + } } class LL_COMMON_API LLStringOps diff --git a/indra/llcommon/lluuid.cpp b/indra/llcommon/lluuid.cpp index 19db7f0c4d4..42f4a4d2727 100644 --- a/indra/llcommon/lluuid.cpp +++ b/indra/llcommon/lluuid.cpp @@ -220,7 +220,7 @@ void LLUUID::toCompressedString(char *out) const BOOL LLUUID::set(const char* in_string, BOOL emit) { - return set(ll_safe_string(in_string), emit); + return set(al::safe_string_view(in_string), emit); } BOOL LLUUID::parseInternalScalar(const char* in_string, bool broken_format, bool emit) diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index d232de42f79..040bd7b11a9 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -132,7 +132,7 @@ LLUUID find_ui_sound(std::string_view name) LLUUID find_ui_sound(const char* namep) { - return find_ui_sound(ll_safe_string(namep)); + return find_ui_sound(al::safe_string_view(namep)); } void make_ui_sound(const char* namep) -- GitLab