summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorJeroen Ruigrok van der Werven <asmodai@in-nomine.org>2009-04-25 21:16:05 (GMT)
committerJeroen Ruigrok van der Werven <asmodai@in-nomine.org>2009-04-25 21:16:05 (GMT)
commitdfcffd40447de8e04376f8946fb71a9c16151563 (patch)
treec8677f68eb0a87db9c974b1a348e70874e2f8622 /Doc
parent436f1a2e0d88d87b0f074ac9d3fee0d4f36acbd1 (diff)
downloadcpython-dfcffd40447de8e04376f8946fb71a9c16151563.zip
cpython-dfcffd40447de8e04376f8946fb71a9c16151563.tar.gz
cpython-dfcffd40447de8e04376f8946fb71a9c16151563.tar.bz2
Issue #4129: document int -> Py_ssize_t changes.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/c-api/unicode.rst133
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)