From 53b2ba5790b57b3dcdfbb9fa5835a979d94908fa Mon Sep 17 00:00:00 2001 From: Daryl McDaniel Date: Sat, 7 Nov 2015 19:29:24 +0000 Subject: AppPkg/Applications/Python/Python-2.7.10: Initial Checkin part 3/5. The Objects directory from the cPython 2.7.10 distribution, along with the LICENSE and README files. These files are unchanged and set the baseline for subsequent commits. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daryl McDaniel git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18739 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Python/Python-2.7.10/Objects/stringlib/count.h | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 AppPkg/Applications/Python/Python-2.7.10/Objects/stringlib/count.h (limited to 'AppPkg/Applications/Python/Python-2.7.10/Objects/stringlib/count.h') diff --git a/AppPkg/Applications/Python/Python-2.7.10/Objects/stringlib/count.h b/AppPkg/Applications/Python/Python-2.7.10/Objects/stringlib/count.h new file mode 100644 index 0000000000..216c269390 --- /dev/null +++ b/AppPkg/Applications/Python/Python-2.7.10/Objects/stringlib/count.h @@ -0,0 +1,30 @@ +/* stringlib: count implementation */ + +#ifndef STRINGLIB_COUNT_H +#define STRINGLIB_COUNT_H + +#ifndef STRINGLIB_FASTSEARCH_H +#error must include "stringlib/fastsearch.h" before including this module +#endif + +Py_LOCAL_INLINE(Py_ssize_t) +stringlib_count(const STRINGLIB_CHAR* str, Py_ssize_t str_len, + const STRINGLIB_CHAR* sub, Py_ssize_t sub_len, + Py_ssize_t maxcount) +{ + Py_ssize_t count; + + if (str_len < 0) + return 0; /* start > len(str) */ + if (sub_len == 0) + return (str_len < maxcount) ? str_len + 1 : maxcount; + + count = fastsearch(str, str_len, sub, sub_len, maxcount, FAST_COUNT); + + if (count < 0) + return 0; /* no match */ + + return count; +} + +#endif -- cgit v1.2.3