diff --git a/include/bx/settings.h b/include/bx/settings.h index f993a34..7797cfa 100644 --- a/include/bx/settings.h +++ b/include/bx/settings.h @@ -29,7 +29,7 @@ namespace bx void load(const void* _data, uint32_t _len); /// - const char* get(const StringView& _name) const; + StringView get(const StringView& _name) const; /// void set(const StringView& _name, const StringView& _value = ""); diff --git a/src/settings.cpp b/src/settings.cpp index c8b27fb..e09e11f 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -63,7 +63,7 @@ void Settings::load(const void* _data, uint32_t _len) } } -const char* Settings::get(const StringView& _name) const +StringView Settings::get(const StringView& _name) const { ini_t* ini = INI_T(m_ini); @@ -84,7 +84,7 @@ const char* Settings::get(const StringView& _name) const int32_t property = ini_find_property(ini, section, fileName.getPtr(), fileName.getLength() ); if (INI_NOT_FOUND == property) { - return NULL; + return StringView(); } return ini_property_value(ini, section, property); diff --git a/tests/settings_test.cpp b/tests/settings_test.cpp index b66fa85..584397a 100644 --- a/tests/settings_test.cpp +++ b/tests/settings_test.cpp @@ -27,12 +27,12 @@ TEST_CASE("Settings", "") bx::close(&writer); } - REQUIRE(NULL == settings.get("meh") ); + REQUIRE(settings.get("meh").isEmpty() ); REQUIRE(0 == bx::strCmp(settings.get("meh/podmac"), "true") ); REQUIRE(0 == bx::strCmp(settings.get("test/foo/bar/abvgd"), "1389") ); settings.remove("meh/podmac"); - REQUIRE(NULL == settings.get("meh/podmac") ); + REQUIRE(settings.get("meh/podmac").isEmpty() ); settings.clear(); @@ -43,7 +43,7 @@ TEST_CASE("Settings", "") bx::close(&reader); } - REQUIRE(NULL == settings.get("meh") ); + REQUIRE(settings.get("meh").isEmpty() ); REQUIRE(0 == bx::strCmp(settings.get("meh/podmac"), "true") ); REQUIRE(0 == bx::strCmp(settings.get("test/foo/bar/abvgd"), "1389") ); }