diff --git a/src/string.cpp b/src/string.cpp index d850b81..ebc5967 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -242,7 +242,7 @@ namespace bx if (0 == max) { - return 0; + return _lhsMax == _rhsMax ? 0 : _lhs[ii] - _rhs[ii]; } if ('0' != _lhs[idx] diff --git a/tests/string_test.cpp b/tests/string_test.cpp index 6c2d1b0..ed5b73b 100644 --- a/tests/string_test.cpp +++ b/tests/string_test.cpp @@ -8,6 +8,8 @@ #include #include +#include + bx::AllocatorI* g_allocator; TEST_CASE("chars", "") @@ -82,6 +84,7 @@ TEST_CASE("strCmpI", "") const char* empty = ""; REQUIRE(0 == bx::strCmpI(abvgd, abvgd) ); REQUIRE(0 == bx::strCmpI(abvgd, abvgx, 4) ); + REQUIRE(0 == bx::strCmpI(empty, empty) ); REQUIRE(0 > bx::strCmpI(abvgd, abvgx) ); REQUIRE(0 > bx::strCmpI(empty, abvgd) ); @@ -102,6 +105,7 @@ TEST_CASE("strCmpV", "") const char* empty = ""; REQUIRE(0 == bx::strCmpV(abvgd, abvgd) ); REQUIRE(0 == bx::strCmpV(abvgd, abvgx, 4) ); + REQUIRE(0 == bx::strCmpV(empty, empty) ); REQUIRE(0 > bx::strCmpV(abvgd, abvgx) ); REQUIRE(0 > bx::strCmpV(empty, abvgd) );