diff --git a/src/util/FFstrbuf.h b/src/util/FFstrbuf.h index 8116311da..22133a7ea 100644 --- a/src/util/FFstrbuf.h +++ b/src/util/FFstrbuf.h @@ -189,6 +189,11 @@ static inline FF_C_NODISCARD bool ffStrbufIgnCaseEqual(const FFstrbuf* strbuf, c return ffStrbufIgnCaseComp(strbuf, comp) == 0; } +static inline FF_C_NODISCARD bool ffStrbufContainC(const FFstrbuf* strbuf, char c) +{ + return memchr(strbuf->chars, c, strbuf->length) != NULL; +} + static inline FF_C_NODISCARD bool ffStrbufContainS(const FFstrbuf* strbuf, const char* str) { return strstr(strbuf->chars, str) != NULL; diff --git a/tests/strbuf.c b/tests/strbuf.c index dd8b6d57d..3b55142ec 100644 --- a/tests/strbuf.c +++ b/tests/strbuf.c @@ -204,6 +204,10 @@ int main(void) VERIFY(strbuf.allocated == 32); VERIFY(ffStrbufEqualS(&strbuf, "1234567890123456789012345678901")); + //containC + VERIFY(ffStrbufContainC(&strbuf, '1')); + VERIFY(!ffStrbufContainC(&strbuf, '-')); + ffStrbufDestroy(&strbuf); //Success