Issue #28526: Use PyUnicode_AsEncodedString() instead of
PyUnicode_AsEncodedObject() in _curese to ensure that the result
is a bytes object.
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index 960752c..1c718a7 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -230,7 +230,7 @@
encoding = win->encoding;
else
encoding = screen_encoding;
- bytes = PyUnicode_AsEncodedObject(obj, encoding, NULL);
+ bytes = PyUnicode_AsEncodedString(obj, encoding, NULL);
if (bytes == NULL)
return 0;
if (PyBytes_GET_SIZE(bytes) == 1)
@@ -352,7 +352,7 @@
return 2;
#else
assert (wstr == NULL);
- *bytes = PyUnicode_AsEncodedObject(obj, win->encoding, NULL);
+ *bytes = PyUnicode_AsEncodedString(obj, win->encoding, NULL);
if (*bytes == NULL)
return 0;
return 1;