diff --git a/src/testlib/qtestresult.cpp b/src/testlib/qtestresult.cpp index 6714d38ddf8..b4e50499267 100644 --- a/src/testlib/qtestresult.cpp +++ b/src/testlib/qtestresult.cpp @@ -12,7 +12,8 @@ #include #include -#include +#include + #include #include @@ -334,11 +335,10 @@ static int approx_wide_len(const char *s) std::mbstate_t state = {}; // QNX might stop at max when dst == nullptr, so pass INT_MAX, // being the largest value this function will return: - constexpr size_t max = INT_MAX; - auto r = std::mbsrtowcs(nullptr, &s, max, &state); + auto r = std::mbsrtowcs(nullptr, &s, INT_MAX, &state); if (r == size_t(-1)) // encoding error, fall back to strlen() r = strlen(s); // `s` was not advanced since `dst == nullptr` - return int(std::clamp(r, size_t(0), max)); + return qt_saturate(r); } // Overload to format failures for "const char *" - no need to strdup().