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;