Make the prototypes of our private PyUnicode_FromWideChar and

PyUnicode_AsWideChar replacement functions compatible to the official
functions by using Py_ssize_t instead of int.
This commit is contained in:
Thomas Heller 2006-07-14 15:01:05 +00:00
parent 7d1d43630e
commit 9f902470da
2 changed files with 6 additions and 5 deletions

View File

@ -4711,13 +4711,14 @@ init_ctypes(void)
}
/*****************************************************************
* replacements for broken Python api functions
* replacements for broken Python api functions (in Python 2.3).
* See #1047269 Buffer overwrite in PyUnicode_AsWideChar
*/
#ifdef HAVE_WCHAR_H
PyObject *My_PyUnicode_FromWideChar(register const wchar_t *w,
int size)
Py_ssize_t size)
{
PyUnicodeObject *unicode;
@ -4749,7 +4750,7 @@ PyObject *My_PyUnicode_FromWideChar(register const wchar_t *w,
int My_PyUnicode_AsWideChar(PyUnicodeObject *unicode,
register wchar_t *w,
int size)
Py_ssize_t size)
{
if (unicode == NULL) {
PyErr_BadInternalCall();

View File

@ -377,8 +377,8 @@ extern char *conversion_mode_errors;
# undef PyUnicode_AsWideChar
# define PyUnicode_AsWideChar My_PyUnicode_AsWideChar
extern PyObject *My_PyUnicode_FromWideChar(const wchar_t *, int);
extern int My_PyUnicode_AsWideChar(PyUnicodeObject *, wchar_t *, int);
extern PyObject *My_PyUnicode_FromWideChar(const wchar_t *, Py_ssize_t);
extern int My_PyUnicode_AsWideChar(PyUnicodeObject *, wchar_t *, Py_ssize_t);
#endif