瀏覽代碼

[Minor] Make rspamd_memcspn public

tags/1.5.0
Vsevolod Stakhov 7 年之前
父節點
當前提交
99c6a57da4
共有 2 個文件被更改,包括 12 次插入3 次删除
  1. 3
    3
      src/libutil/str_util.c
  2. 9
    0
      src/libutil/str_util.h

+ 3
- 3
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++);

+ 9
- 0
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_ */

Loading…
取消
儲存