source: vendor/python/2.5/Objects/stringlib/count.h

Last change on this file was 3225, checked in by bird, 18 years ago

Python 2.5

File size: 729 bytes
Line 
1/* 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 if (str_len < 0)
18 return 0; /* start > len(str) */
19 return str_len + 1;
20 }
21
22 count = fastsearch(str, str_len, sub, sub_len, FAST_COUNT);
23
24 if (count < 0)
25 count = 0; /* no match */
26
27 return count;
28}
29
30#endif
31
32/*
33Local variables:
34c-basic-offset: 4
35indent-tabs-mode: nil
36End:
37*/
Note: See TracBrowser for help on using the repository browser.