Skip to content

Commit

Permalink
lib: Add i_strstr_arr for searching string for multiple needles
Browse files Browse the repository at this point in the history
  • Loading branch information
cmouse committed Aug 21, 2018
1 parent 1b87d57 commit 02c1f0e
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/lib/strfuncs.c
Expand Up @@ -366,6 +366,15 @@ const char *t_str_ucase(const char *str)
return str_ucase(t_strdup_noconst(str));
}

const char *i_strstr_arr(const char *haystack, const char *const *needles)
{
const char *ptr;
for(; *needles != NULL; needles++)
if ((ptr = strstr(haystack, *needles)) != NULL)
return ptr;
return NULL;
}

static void str_trim_parse(const char *str,
const char *chars, enum _str_trim_sides sides,
const char **begin_r, const char **end_r)
Expand Down
3 changes: 3 additions & 0 deletions src/lib/strfuncs.h
Expand Up @@ -54,6 +54,9 @@ char *str_lcase(char *str);
const char *t_str_lcase(const char *str);
const char *t_str_ucase(const char *str);

/* Return pointer to first matching needle */
const char *i_strstr_arr(const char *haystack, const char *const *needles);

/* Trim matching chars from either side of the string */
const char *t_str_trim(const char *str, const char *chars);
const char *p_str_trim(pool_t pool, const char *str, const char *chars);
Expand Down

0 comments on commit 02c1f0e

Please sign in to comment.