mirror of
https://github.com/python/cpython.git
synced 2025-09-04 16:01:10 +00:00
Support marshal.dump(x, f) where f is not a real file.
Support ord(b) where b is a 1-byte string. In zipfile.py, work around bytes being ints instead of chars, sometimes.
This commit is contained in:
parent
84d79ddce2
commit
98f9746740
3 changed files with 27 additions and 6 deletions
|
@ -1451,14 +1451,24 @@ builtin_ord(PyObject *self, PyObject* obj)
|
|||
return PyInt_FromLong(ord);
|
||||
}
|
||||
#ifdef Py_USING_UNICODE
|
||||
} else if (PyUnicode_Check(obj)) {
|
||||
}
|
||||
else if (PyUnicode_Check(obj)) {
|
||||
size = PyUnicode_GET_SIZE(obj);
|
||||
if (size == 1) {
|
||||
ord = (long)*PyUnicode_AS_UNICODE(obj);
|
||||
return PyInt_FromLong(ord);
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
}
|
||||
else if (PyBytes_Check(obj)) {
|
||||
/* XXX Hopefully this is temporary */
|
||||
size = PyBytes_GET_SIZE(obj);
|
||||
if (size == 1) {
|
||||
ord = (long)*PyBytes_AS_STRING(obj);
|
||||
return PyInt_FromLong(ord);
|
||||
}
|
||||
}
|
||||
else {
|
||||
PyErr_Format(PyExc_TypeError,
|
||||
"ord() expected string of length 1, but " \
|
||||
"%.200s found", obj->ob_type->tp_name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue