diff options
author | Jeroen Ruigrok van der Werven <asmodai@in-nomine.org> | 2009-04-25 21:16:05 (GMT) |
---|---|---|
committer | Jeroen Ruigrok van der Werven <asmodai@in-nomine.org> | 2009-04-25 21:16:05 (GMT) |
commit | dfcffd40447de8e04376f8946fb71a9c16151563 (patch) | |
tree | c8677f68eb0a87db9c974b1a348e70874e2f8622 | |
parent | 436f1a2e0d88d87b0f074ac9d3fee0d4f36acbd1 (diff) | |
download | cpython-dfcffd40447de8e04376f8946fb71a9c16151563.zip cpython-dfcffd40447de8e04376f8946fb71a9c16151563.tar.gz cpython-dfcffd40447de8e04376f8946fb71a9c16151563.tar.bz2 |
Issue #4129: document int -> Py_ssize_t changes.
-rw-r--r-- | Doc/c-api/unicode.rst | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst index 5e5d1a2..8469ff9 100644 --- a/Doc/c-api/unicode.rst +++ b/Doc/c-api/unicode.rst @@ -71,12 +71,20 @@ access internal read-only data of Unicode objects: Return the size of the object. *o* has to be a :ctype:`PyUnicodeObject` (not checked). + .. versionchanged:: 2.5 + This function returned an :ctype:`int` type. This might require changes + in your code for properly supporting 64-bit systems. + .. cfunction:: Py_ssize_t PyUnicode_GET_DATA_SIZE(PyObject *o) Return the size of the object's internal buffer in bytes. *o* has to be a :ctype:`PyUnicodeObject` (not checked). + .. versionchanged:: 2.5 + This function returned an :ctype:`int` type. This might require changes + in your code for properly supporting 64-bit systems. + .. cfunction:: Py_UNICODE* PyUnicode_AS_UNICODE(PyObject *o) @@ -202,6 +210,10 @@ APIs: Therefore, modification of the resulting Unicode object is only allowed when *u* is *NULL*. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: Py_UNICODE* PyUnicode_AsUnicode(PyObject *unicode) @@ -213,6 +225,10 @@ APIs: Return the length of the Unicode object. + .. versionchanged:: 2.5 + This function returned an :ctype:`int` type. This might require changes + in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_FromEncodedObject(PyObject *obj, const char *encoding, const char *errors) @@ -249,6 +265,10 @@ the system's :ctype:`wchar_t`. Create a Unicode object from the :ctype:`wchar_t` buffer *w* of the given size. Return *NULL* on failure. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: Py_ssize_t PyUnicode_AsWideChar(PyUnicodeObject *unicode, wchar_t *w, Py_ssize_t size) @@ -260,6 +280,11 @@ the system's :ctype:`wchar_t`. to make sure that the :ctype:`wchar_t` string is 0-terminated in case this is required by the application. + .. versionchanged:: 2.5 + This function returned an :ctype:`int` type and used an :ctype:`int` + type for *size*. This might require changes in your code for properly + supporting 64-bit systems. + .. _builtincodecs: @@ -299,6 +324,10 @@ These are the generic codec APIs: using the Python codec registry. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_Encode(const Py_UNICODE *s, Py_ssize_t size, const char *encoding, const char *errors) @@ -308,6 +337,10 @@ These are the generic codec APIs: looked up using the Python codec registry. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_AsEncodedString(PyObject *unicode, const char *encoding, const char *errors) @@ -327,6 +360,10 @@ These are the UTF-8 codec APIs: Create a Unicode object by decoding *size* bytes of the UTF-8 encoded string *s*. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_DecodeUTF8Stateful(const char *s, Py_ssize_t size, const char *errors, Py_ssize_t *consumed) @@ -337,12 +374,20 @@ These are the UTF-8 codec APIs: .. versionadded:: 2.4 + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_EncodeUTF8(const Py_UNICODE *s, Py_ssize_t size, const char *errors) Encode the :ctype:`Py_UNICODE` buffer of the given size using UTF-8 and return a Python string object. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_AsUTF8String(PyObject *unicode) @@ -450,6 +495,10 @@ These are the UTF-16 codec APIs: Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_DecodeUTF16Stateful(const char *s, Py_ssize_t size, const char *errors, int *byteorder, Py_ssize_t *consumed) @@ -461,6 +510,11 @@ These are the UTF-16 codec APIs: .. versionadded:: 2.4 + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size* and an :ctype:`int *` + type for *consumed*. This might require changes in your code for + properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_EncodeUTF16(const Py_UNICODE *s, Py_ssize_t size, const char *errors, int byteorder) @@ -481,6 +535,10 @@ These are the UTF-16 codec APIs: Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_AsUTF16String(PyObject *unicode) @@ -498,6 +556,10 @@ These are the "Unicode Escape" codec APIs: Create a Unicode object by decoding *size* bytes of the Unicode-Escape encoded string *s*. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_EncodeUnicodeEscape(const Py_UNICODE *s, Py_ssize_t size) @@ -505,6 +567,10 @@ These are the "Unicode Escape" codec APIs: return a Python string object. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_AsUnicodeEscapeString(PyObject *unicode) @@ -522,6 +588,10 @@ These are the "Raw Unicode Escape" codec APIs: Create a Unicode object by decoding *size* bytes of the Raw-Unicode-Escape encoded string *s*. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_EncodeRawUnicodeEscape(const Py_UNICODE *s, Py_ssize_t size, const char *errors) @@ -529,6 +599,10 @@ These are the "Raw Unicode Escape" codec APIs: and return a Python string object. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_AsRawUnicodeEscapeString(PyObject *unicode) @@ -547,12 +621,20 @@ ordinals and only these are accepted by the codecs during encoding. Create a Unicode object by decoding *size* bytes of the Latin-1 encoded string *s*. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_EncodeLatin1(const Py_UNICODE *s, Py_ssize_t size, const char *errors) Encode the :ctype:`Py_UNICODE` buffer of the given size using Latin-1 and return a Python string object. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_AsLatin1String(PyObject *unicode) @@ -571,12 +653,20 @@ codes generate errors. Create a Unicode object by decoding *size* bytes of the ASCII encoded string *s*. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_EncodeASCII(const Py_UNICODE *s, Py_ssize_t size, const char *errors) Encode the :ctype:`Py_UNICODE` buffer of the given size using ASCII and return a Python string object. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_AsASCIIString(PyObject *unicode) @@ -622,6 +712,10 @@ characters to different code points. .. versionchanged:: 2.4 Allowed unicode string as mapping argument. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_EncodeCharmap(const Py_UNICODE *s, Py_ssize_t size, PyObject *mapping, const char *errors) @@ -629,6 +723,10 @@ characters to different code points. *mapping* object and return a Python string object. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_AsCharmapString(PyObject *unicode, PyObject *mapping) @@ -652,6 +750,10 @@ The following codec API is special in that maps Unicode to Unicode. and sequences work well. Unmapped character ordinals (ones which cause a :exc:`LookupError`) are left untouched and are copied as-is. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + These are the MBCS codec APIs. They are currently only available on Windows and use the Win32 MBCS converters to implement the conversions. Note that MBCS (or DBCS) is a class of encodings, not just one. The target encoding is defined by @@ -665,6 +767,10 @@ the user settings on the machine running the codec. Create a Unicode object by decoding *size* bytes of the MBCS encoded string *s*. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_DecodeMBCSStateful(const char *s, int size, const char *errors, int *consumed) @@ -681,6 +787,10 @@ the user settings on the machine running the codec. Encode the :ctype:`Py_UNICODE` buffer of the given size using MBCS and return a Python string object. Return *NULL* if an exception was raised by the codec. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *size*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_AsMBCSString(PyObject *unicode) @@ -715,6 +825,10 @@ They all return *NULL* or ``-1`` if an exception occurs. separator. At most *maxsplit* splits will be done. If negative, no limit is set. Separators are not included in the resulting list. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *maxsplit*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_Splitlines(PyObject *s, int keepend) @@ -751,6 +865,11 @@ They all return *NULL* or ``-1`` if an exception occurs. (*direction* == -1 means to do a prefix match, *direction* == 1 a suffix match), 0 otherwise. Return ``-1`` if an error occurred. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *start* and *end*. This + might require changes in your code for properly supporting 64-bit + systems. + .. cfunction:: Py_ssize_t PyUnicode_Find(PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end, int direction) @@ -760,12 +879,22 @@ They all return *NULL* or ``-1`` if an exception occurs. ``-1`` indicates that no match was found, and ``-2`` indicates that an error occurred and an exception has been set. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *start* and *end*. This + might require changes in your code for properly supporting 64-bit + systems. + .. cfunction:: Py_ssize_t PyUnicode_Count(PyObject *str, PyObject *substr, Py_ssize_t start, Py_ssize_t end) Return the number of non-overlapping occurrences of *substr* in ``str[start:end]``. Return ``-1`` if an error occurred. + .. versionchanged:: 2.5 + This function returned an :ctype:`int` type and used an :ctype:`int` + type for *start* and *end*. This might require changes in your code for + properly supporting 64-bit systems. + .. cfunction:: PyObject* PyUnicode_Replace(PyObject *str, PyObject *substr, PyObject *replstr, Py_ssize_t maxcount) @@ -773,6 +902,10 @@ They all return *NULL* or ``-1`` if an exception occurs. return the resulting Unicode object. *maxcount* == -1 means replace all occurrences. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *maxcount*. This might + require changes in your code for properly supporting 64-bit systems. + .. cfunction:: int PyUnicode_Compare(PyObject *left, PyObject *right) |