cpython/Objects/stringlib
Amaury Forgeot d'Arc fc5ea39289 #3967: Correct a crash in count() and find() methods of string-like objects.
For example:
   "".count("xxxx", sys.maxint, 0)

Reviewed by Benjamin Peterson.
Will port to 2.5 and 3.0.
2008-09-26 22:34:08 +00:00
..
README.txt needforspeed: more stringlib refactoring 2006-05-27 10:05:10 +00:00
count.h #3967: Correct a crash in count() and find() methods of string-like objects. 2008-09-26 22:34:08 +00:00
ctype.h Merged revisions 61750,61752,61754,61756,61760,61763,61768,61772,61775,61805,61809,61812,61819,61917,61920,61930,61933-61934 via svnmerge from 2008-03-26 12:49:49 +00:00
fastsearch.h needforspeed: replace improvements, changed to Py_LOCAL_INLINE 2006-05-27 14:58:20 +00:00
find.h #3967: Correct a crash in count() and find() methods of string-like objects. 2008-09-26 22:34:08 +00:00
formatter.h Fix: 2008-08-24 05:04:52 +00:00
localeutil.h Modified interface to _Py_[String|Unicode]InsertThousandsGrouping, in anticipation of fixing issue 3140. 2008-06-24 00:42:10 +00:00
partition.h Fix endcase for str.rpartition() 2006-09-04 15:32:48 +00:00
string_format.h Backport of r63826. 2008-08-18 14:27:38 +00:00
stringdefs.h This reverts r63675 based on the discussion in this thread: 2008-06-09 04:58:54 +00:00
transmogrify.h Merged revisions 61750,61752,61754,61756,61760,61763,61768,61772,61775,61805,61809,61812,61819,61917,61920,61930,61933-61934 via svnmerge from 2008-03-26 12:49:49 +00:00
unicodedefs.h Addresses issue 2802: 'n' formatting for integers. 2008-05-11 19:52:48 +00:00

README.txt

bits shared by the stringobject and unicodeobject implementations (and
possibly other modules, in a not too distant future).

the stuff in here is included into relevant places; see the individual
source files for details.

--------------------------------------------------------------------
the following defines used by the different modules:

STRINGLIB_CHAR

    the type used to hold a character (char or Py_UNICODE)

STRINGLIB_EMPTY

    a PyObject representing the empty string

int STRINGLIB_CMP(STRINGLIB_CHAR*, STRINGLIB_CHAR*, Py_ssize_t)

    compares two strings. returns 0 if they match, and non-zero if not.

Py_ssize_t STRINGLIB_LEN(PyObject*)

    returns the length of the given string object (which must be of the
    right type)

PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)

    creates a new string object

STRINGLIB_CHAR* STRINGLIB_STR(PyObject*)

    returns the pointer to the character data for the given string
    object (which must be of the right type)