https://github.com/python/cpython/commit/c947a4649a1fbadad1ca5423ed3bc5043d3cc4e4
commit: c947a4649a1fbadad1ca5423ed3bc5043d3cc4e4
branch: main
author: Victor Stinner <[email protected]>
committer: vstinner <[email protected]>
date: 2026-09-13T07:21:18+02:00
summary:
gh-155742: Use PyBytesWriter in winconsoleio.c (#157391)
Replace soft deprecated _PyBytes_Resize() with PyBytesWriter.
files:
M Modules/_io/winconsoleio.c
diff --git a/Modules/_io/winconsoleio.c b/Modules/_io/winconsoleio.c
index e96c5bd738fe0ad..bc375e3dfe7de81 100644
--- a/Modules/_io/winconsoleio.c
+++ b/Modules/_io/winconsoleio.c
@@ -1009,7 +1009,6 @@ _io__WindowsConsoleIO_read_impl(winconsoleio *self,
PyTypeObject *cls,
Py_ssize_t size)
/*[clinic end generated code: output=7e569a586537c0ae input=a14570a5da273365]*/
{
- PyObject *bytes;
Py_ssize_t bytes_size;
if (self->fd == -1)
@@ -1026,26 +1025,20 @@ _io__WindowsConsoleIO_read_impl(winconsoleio *self,
PyTypeObject *cls,
return NULL;
}
- bytes = PyBytes_FromStringAndSize(NULL, size);
- if (bytes == NULL)
+ PyBytesWriter *writer = PyBytesWriter_Create(size);
+ if (writer == NULL) {
return NULL;
+ }
_PyIO_State *state = get_io_state_by_cls(cls);
- bytes_size = readinto(state, self, PyBytes_AS_STRING(bytes),
- PyBytes_GET_SIZE(bytes));
+ bytes_size = readinto(state, self, PyBytesWriter_GetData(writer),
+ PyBytesWriter_GetSize(writer));
if (bytes_size < 0) {
- Py_CLEAR(bytes);
+ PyBytesWriter_Discard(writer);
return NULL;
}
- if (bytes_size < PyBytes_GET_SIZE(bytes)) {
- if (_PyBytes_Resize(&bytes, bytes_size) < 0) {
- Py_CLEAR(bytes);
- return NULL;
- }
- }
-
- return bytes;
+ return PyBytesWriter_FinishWithSize(writer, bytes_size);
}
/*[clinic input]
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]