clang-tidy-21: fix cppcoreguidelines-pro-bounds-pointer-arithmetic
Fix various pro-bounds-pointer-arithmetic warnings that started being
reported with clang-tidy-21.
```
error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]
```
Forked this change from [1]
References:
[1] https://gerrit.openbmc.org/c/openbmc/entity-manager/+/84049
Tested: Inspection only.
Change-Id: I535802825e68d7f5fe01ed2428d127f7a18ab4f8
Signed-off-by: Alexander Hansen <alexander.hansen@9elements.com>
diff --git a/src/entity_manager/utils.cpp b/src/entity_manager/utils.cpp
index 7528117..28e6d11 100644
--- a/src/entity_manager/utils.cpp
+++ b/src/entity_manager/utils.cpp
@@ -1,5 +1,6 @@
#include "utils.hpp"
+#include "../utils.hpp"
#include "../variant_visitors.hpp"
#include "expression.hpp"
#include "phosphor-logging/lg2.hpp"
@@ -281,10 +282,10 @@
}
uint64_t temp = 0;
- const char* strDataEndPtr = strView.data() + strView.size();
+ bool fullMatch = false;
const std::from_chars_result res =
- std::from_chars(strView.data(), strDataEndPtr, temp, base);
- if (res.ec == std::errc{} && res.ptr == strDataEndPtr)
+ fromCharsWrapper(strView, temp, fullMatch, base);
+ if (res.ec == std::errc{} && fullMatch)
{
keyPair.value() = temp;
}