mirror of
https://github.com/python/cpython.git
synced 2025-08-29 05:05:03 +00:00
Fix for bug #480188: printing unicode objects
This commit is contained in:
parent
4586d2c91c
commit
0c4d8d05a8
3 changed files with 39 additions and 3 deletions
|
@ -1349,14 +1349,24 @@ eval_frame(PyFrameObject *f)
|
|||
err = PyFile_WriteString(" ", w);
|
||||
if (err == 0)
|
||||
err = PyFile_WriteObject(v, w, Py_PRINT_RAW);
|
||||
if (err == 0 && PyString_Check(v)) {
|
||||
if (err == 0) {
|
||||
/* XXX move into writeobject() ? */
|
||||
char *s = PyString_AsString(v);
|
||||
int len = PyString_Size(v);
|
||||
if (PyString_Check(v)) {
|
||||
char *s = PyString_AS_STRING(v);
|
||||
int len = PyString_GET_SIZE(v);
|
||||
if (len > 0 &&
|
||||
isspace(Py_CHARMASK(s[len-1])) &&
|
||||
s[len-1] != ' ')
|
||||
PyFile_SoftSpace(w, 0);
|
||||
}
|
||||
else if (PyUnicode_Check(v)) {
|
||||
Py_UNICODE *s = PyUnicode_AS_UNICODE(v);
|
||||
int len = PyUnicode_GET_SIZE(v);
|
||||
if (len > 0 &&
|
||||
Py_UNICODE_ISSPACE(s[len-1]) &&
|
||||
s[len-1] != ' ')
|
||||
PyFile_SoftSpace(w, 0);
|
||||
}
|
||||
}
|
||||
Py_DECREF(v);
|
||||
Py_XDECREF(stream);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue