mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
Mark Hammond withdraws his fix -- the size includes the trailing 0 so
a size of 0 *is* illegal.
This commit is contained in:
parent
a6edfd9737
commit
4e751c3d12
1 changed files with 2 additions and 7 deletions
|
@ -1555,7 +1555,7 @@ PyObject *PyUnicode_DecodeMBCS(const char *s,
|
||||||
|
|
||||||
/* First get the size of the result */
|
/* First get the size of the result */
|
||||||
DWORD usize = MultiByteToWideChar(CP_ACP, 0, s, size, NULL, 0);
|
DWORD usize = MultiByteToWideChar(CP_ACP, 0, s, size, NULL, 0);
|
||||||
if (size > 0 && usize==0)
|
if (usize==0)
|
||||||
return PyErr_SetFromWindowsErrWithFilename(0, NULL);
|
return PyErr_SetFromWindowsErrWithFilename(0, NULL);
|
||||||
|
|
||||||
v = _PyUnicode_New(usize);
|
v = _PyUnicode_New(usize);
|
||||||
|
@ -1578,14 +1578,9 @@ PyObject *PyUnicode_EncodeMBCS(const Py_UNICODE *p,
|
||||||
{
|
{
|
||||||
PyObject *repr;
|
PyObject *repr;
|
||||||
char *s;
|
char *s;
|
||||||
DWORD mbcssize;
|
|
||||||
|
|
||||||
/* If there are no characters, bail now! */
|
|
||||||
if (size==0)
|
|
||||||
return PyString_FromString("");
|
|
||||||
|
|
||||||
/* First get the size of the result */
|
/* First get the size of the result */
|
||||||
mbcssize = WideCharToMultiByte(CP_ACP, 0, p, size, NULL, 0, NULL, NULL);
|
DWORD mbcssize = WideCharToMultiByte(CP_ACP, 0, p, size, NULL, 0, NULL, NULL);
|
||||||
if (mbcssize==0)
|
if (mbcssize==0)
|
||||||
return PyErr_SetFromWindowsErrWithFilename(0, NULL);
|
return PyErr_SetFromWindowsErrWithFilename(0, NULL);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue