From b5f8a0ecdb25d67e8ae807861c69f7e4b54ffa84 Mon Sep 17 00:00:00 2001 From: elsid Date: Sat, 26 Apr 2025 00:02:05 +0200 Subject: [PATCH] Fix warning: -Wstring-compare In file included from ../../../components/esm/defs.hpp:7, from ../../../apps/components_tests/esm/test_fixed_string.cpp:1: In function 'bool ESM::operator==(const FixedString&, const char (&)[rhsSize]) [with long unsigned int capacity = 4; long unsigned int rhsSize = 12]', inlined from 'virtual void {anonymous}::EsmFixedString_empty_strings_Test::TestBody()' at ../../../apps/components_tests/esm/test_fixed_string.cpp:82:13: ../../../components/esm/esmcommon.hpp:142:85: error: 'int strncmp(const char*, const char*, size_t)' of strings of length 0 and 4 and bound of 4 evaluates to nonzero [-Werror=string-compare] 142 | return strnlen(rhs, rhsSize) == strnlen(lhs.mData, capacity) && std::strncmp(lhs.mData, rhs, capacity) == 0; | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ --- apps/components_tests/esm/test_fixed_string.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/components_tests/esm/test_fixed_string.cpp b/apps/components_tests/esm/test_fixed_string.cpp index 76ed346daa..2241bb042f 100644 --- a/apps/components_tests/esm/test_fixed_string.cpp +++ b/apps/components_tests/esm/test_fixed_string.cpp @@ -74,19 +74,20 @@ namespace TEST(EsmFixedString, empty_strings) { + constexpr std::string_view someStr = "some string"; { SCOPED_TRACE("4 bytes"); ESM::NAME empty = ESM::NAME(); EXPECT_TRUE(empty == ""); EXPECT_TRUE(empty == static_cast(0)); - EXPECT_TRUE(empty != "some string"); + EXPECT_TRUE(empty != someStr); EXPECT_TRUE(empty != static_cast(42)); } { SCOPED_TRACE("32 bytes"); ESM::NAME32 empty = ESM::NAME32(); EXPECT_TRUE(empty == ""); - EXPECT_TRUE(empty != "some string"); + EXPECT_TRUE(empty != someStr); } }