From 1d92c6b827b2758541255efc4006644c873de092 Mon Sep 17 00:00:00 2001 From: Sara Date: Thu, 25 Jan 2024 00:04:46 +0100 Subject: [PATCH] feat: strlast/first and _pred equivs now null-terminate --- core/src/strutil.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/src/strutil.c b/core/src/strutil.c index ffc698b..c02490f 100644 --- a/core/src/strutil.c +++ b/core/src/strutil.c @@ -16,7 +16,7 @@ uintptr_t strhash(const char* s) { long strlast(const char* rbegin, const char* rend, char search) { const char* itr = rbegin; - while(itr != rend) + while(itr < rend && *itr != '\0') if(*itr == search) return itr - rend; else itr--; return -1; @@ -24,7 +24,7 @@ long strlast(const char* rbegin, const char* rend, char search) { long strfirst(const char* begin, const char* end, char search) { const char* itr = begin; - while(itr != end) + while(itr < end && *itr != '\0') if(*itr == search) return itr - begin; else itr++; return -1; @@ -39,7 +39,7 @@ long strcount(const char* begin, const char* end, char search) { long strfirst_pred(const char* begin, const char* end, CharPredFn pred) { const char* itr = begin; - while(itr != end) + while(itr < end && *itr != '\0') if(pred(*itr)) return itr - begin; else itr++; return -1; @@ -47,7 +47,7 @@ long strfirst_pred(const char* begin, const char* end, CharPredFn pred) { long strlast_pred(const char* rbegin, const char* rend, CharPredFn pred) { const char* itr = rbegin; - while(itr != rend) + while(itr < rend && *itr != '\0') if(pred(*itr)) return itr - rend; else itr--; return -1;