Issue #4129: document int -> Py_ssize_t changes.

This commit is contained in:
Jeroen Ruigrok van der Werven 2009-04-25 21:16:05 +00:00
parent 436f1a2e0d
commit dfcffd4044
1 changed files with 133 additions and 0 deletions

View File

@ -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 Return the size of the object. *o* has to be a :ctype:`PyUnicodeObject` (not
checked). 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) .. 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 Return the size of the object's internal buffer in bytes. *o* has to be a
:ctype:`PyUnicodeObject` (not checked). :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) .. 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* Therefore, modification of the resulting Unicode object is only allowed when *u*
is *NULL*. 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) .. cfunction:: Py_UNICODE* PyUnicode_AsUnicode(PyObject *unicode)
@ -213,6 +225,10 @@ APIs:
Return the length of the Unicode object. 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) .. 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. Create a Unicode object from the :ctype:`wchar_t` buffer *w* of the given size.
Return *NULL* on failure. 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) .. 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 to make sure that the :ctype:`wchar_t` string is 0-terminated in case this is
required by the application. 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: .. _builtincodecs:
@ -299,6 +324,10 @@ These are the generic codec APIs:
using the Python codec registry. Return *NULL* if an exception was raised by using the Python codec registry. Return *NULL* if an exception was raised by
the codec. 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) .. 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 looked up using the Python codec registry. Return *NULL* if an exception was
raised by the codec. 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) .. 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 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. *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) .. 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 .. 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) .. 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 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. 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) .. 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. 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) .. 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 .. 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) .. 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. 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) .. 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 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. 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) .. 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 return a Python string object. Return *NULL* if an exception was raised by the
codec. 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) .. 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 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. 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) .. 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 and return a Python string object. Return *NULL* if an exception was raised by
the codec. 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) .. 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 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. *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) .. 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 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. 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) .. 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 Create a Unicode object by decoding *size* bytes of the ASCII encoded string
*s*. Return *NULL* if an exception was raised by the codec. *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) .. 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 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. 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) .. cfunction:: PyObject* PyUnicode_AsASCIIString(PyObject *unicode)
@ -622,6 +712,10 @@ characters to different code points.
.. versionchanged:: 2.4 .. versionchanged:: 2.4
Allowed unicode string as mapping argument. 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) .. 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 *mapping* object and return a Python string object. Return *NULL* if an
exception was raised by the codec. 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) .. 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 and sequences work well. Unmapped character ordinals (ones which cause a
:exc:`LookupError`) are left untouched and are copied as-is. :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 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 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 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*. Create a Unicode object by decoding *size* bytes of the MBCS encoded string *s*.
Return *NULL* if an exception was raised by the codec. 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) .. 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 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. 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) .. 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 separator. At most *maxsplit* splits will be done. If negative, no limit is
set. Separators are not included in the resulting list. 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) .. 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), (*direction* == -1 means to do a prefix match, *direction* == 1 a suffix match),
0 otherwise. Return ``-1`` if an error occurred. 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) .. 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 ``-1`` indicates that no match was found, and ``-2`` indicates that an error
occurred and an exception has been set. 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) .. 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 Return the number of non-overlapping occurrences of *substr* in
``str[start:end]``. Return ``-1`` if an error occurred. ``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) .. 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 return the resulting Unicode object. *maxcount* == -1 means replace all
occurrences. 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) .. cfunction:: int PyUnicode_Compare(PyObject *left, PyObject *right)