feat: strlast/first and _pred equivs now null-terminate
This commit is contained in:
parent
16d2d8ebf6
commit
1d92c6b827
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue