summaryrefslogtreecommitdiff
path: root/absl/strings/internal/memutil.cc
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2022-08-17 09:17:56 -0700
committerGravatar Copybara-Service <copybara-worker@google.com>2022-08-17 09:18:39 -0700
commitfcfc7a6d15eab5aff86d7b90c9e38fa386a103fa (patch)
treeec697cf6574f311f9f373df7d19f307d9c185781 /absl/strings/internal/memutil.cc
parent934f613818ffcb26c942dff4a80be9a4031c662c (diff)
Fix "unsafe narrowing" warnings in absl, 5/n.
Addresses failures with the following, in some files: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wsign-compare -Wsign-conversion -Wtautological-unsigned-zero-compare (This specific CL focuses on .cc files in strings/internal/.) Bug: chromium:1292951 PiperOrigin-RevId: 468215101 Change-Id: I07fa487bcf2cf62d403489c3be7a5997cdef8987
Diffstat (limited to 'absl/strings/internal/memutil.cc')
-rw-r--r--absl/strings/internal/memutil.cc15
1 files changed, 9 insertions, 6 deletions
diff --git a/absl/strings/internal/memutil.cc b/absl/strings/internal/memutil.cc
index 2519c688..44996a75 100644
--- a/absl/strings/internal/memutil.cc
+++ b/absl/strings/internal/memutil.cc
@@ -54,10 +54,11 @@ size_t memspn(const char* s, size_t slen, const char* accept) {
cont:
c = *p++;
- if (slen-- == 0) return p - 1 - s;
+ if (slen-- == 0)
+ return static_cast<size_t>(p - 1 - s);
for (spanp = accept; (sc = *spanp++) != '\0';)
if (sc == c) goto cont;
- return p - 1 - s;
+ return static_cast<size_t>(p - 1 - s);
}
size_t memcspn(const char* s, size_t slen, const char* reject) {
@@ -68,9 +69,10 @@ size_t memcspn(const char* s, size_t slen, const char* reject) {
while (slen-- != 0) {
c = *p++;
for (spanp = reject; (sc = *spanp++) != '\0';)
- if (sc == c) return p - 1 - s;
+ if (sc == c)
+ return static_cast<size_t>(p - 1 - s);
}
- return p - s;
+ return static_cast<size_t>(p - s);
}
char* mempbrk(const char* s, size_t slen, const char* accept) {
@@ -97,8 +99,9 @@ const char* memmatch(const char* phaystack, size_t haylen, const char* pneedle,
const char* hayend = phaystack + haylen - neelen + 1;
// A static cast is used here to work around the fact that memchr returns
// a void* on Posix-compliant systems and const void* on Windows.
- while ((match = static_cast<const char*>(
- memchr(phaystack, pneedle[0], hayend - phaystack)))) {
+ while (
+ (match = static_cast<const char*>(memchr(
+ phaystack, pneedle[0], static_cast<size_t>(hayend - phaystack))))) {
if (memcmp(match, pneedle, neelen) == 0)
return match;
else