blob: 0bd02b59746f7393ff450f67ec04bb064176f32e [file] [log] [blame]
Thomas Wouters477c8d52006-05-27 19:21:47 +00001/* stringlib: count implementation */
2
3#ifndef STRINGLIB_COUNT_H
4#define STRINGLIB_COUNT_H
5
6#ifndef STRINGLIB_FASTSEARCH_H
7#error must include "stringlib/fastsearch.h" before including this module
8#endif
9
10Py_LOCAL_INLINE(Py_ssize_t)
11stringlib_count(const STRINGLIB_CHAR* str, Py_ssize_t str_len,
12 const STRINGLIB_CHAR* sub, Py_ssize_t sub_len)
13{
14 Py_ssize_t count;
15
16 if (sub_len == 0)
17 return str_len + 1;
18
19 count = fastsearch(str, str_len, sub, sub_len, FAST_COUNT);
20
21 if (count < 0)
22 count = 0; /* no match */
23
24 return count;
25}
26
27#endif
28
29/*
30Local variables:
31c-basic-offset: 4
32indent-tabs-mode: nil
33End:
34*/