From: Vsevolod Stakhov Date: Thu, 15 Dec 2016 11:58:42 +0000 (+0000) Subject: [Minor] Make rspamd_memcspn public X-Git-Tag: 1.5.0~577 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=99c6a57da476c6859c0f9352fe73e5109f7d8ab7;p=rspamd.git [Minor] Make rspamd_memcspn public --- diff --git a/src/libutil/str_util.c b/src/libutil/str_util.c index 63e22e641..c5df324b7 100644 --- a/src/libutil/str_util.c +++ b/src/libutil/str_util.c @@ -1828,13 +1828,13 @@ decode: #define BITOP(a,b,op) \ ((a)[(gsize)(b)/(8*sizeof *(a))] op (gsize)1<<((gsize)(b)%(8*sizeof *(a)))) -static gsize +gsize rspamd_memcspn (const gchar *s, const gchar *e, gsize len) { - gsize byteset[32/sizeof(gsize)]; + gsize byteset[32 / sizeof(gsize)]; const gchar *p = s, *end = s + len; - memset(byteset, 0, sizeof byteset); + memset (byteset, 0, sizeof byteset); for (; *e && BITOP (byteset, *(guchar *)e, |=); e++); for (; p < end && !BITOP (byteset, *(guchar *)p, &); p++); diff --git a/src/libutil/str_util.h b/src/libutil/str_util.h index 1fdb1a857..2c9905e13 100644 --- a/src/libutil/str_util.h +++ b/src/libutil/str_util.h @@ -350,4 +350,13 @@ extern const guchar lc_map[256]; */ const void *rspamd_memrchr (const void *m, gint c, gsize len); +/** + * Return length of memory segment starting in `s` that contains no chars from `e` + * @param s any input + * @param e zero terminated string of exceptions + * @param len length of `s` + * @return segment size + */ +gsize rspamd_memcspn (const gchar *s, const gchar *e, gsize len); + #endif /* SRC_LIBUTIL_STR_UTIL_H_ */