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;
     }