mirror of
https://github.com/python/cpython.git
synced 2025-11-01 18:51:43 +00:00
Checkpoint. Manipulated things so that string literals are always
unicode, and a few other compensating changes, e.g. str <- unicode, chr <- unichr, and repr() of a unicode string no longer starts with 'u'. Lots of unit tests are broken, but some basic things work, in particular distutils works so the extensions can be built, and test_builtin.py works.
This commit is contained in:
parent
d4617f24ca
commit
572dbf8f13
28 changed files with 68 additions and 81 deletions
|
|
@ -6163,7 +6163,8 @@ Read a file descriptor.");
|
|||
static PyObject *
|
||||
posix_read(PyObject *self, PyObject *args)
|
||||
{
|
||||
int fd, size, n;
|
||||
int fd, size;
|
||||
Py_ssize_t n;
|
||||
PyObject *buffer;
|
||||
if (!PyArg_ParseTuple(args, "ii:read", &fd, &size))
|
||||
return NULL;
|
||||
|
|
@ -6171,18 +6172,18 @@ posix_read(PyObject *self, PyObject *args)
|
|||
errno = EINVAL;
|
||||
return posix_error();
|
||||
}
|
||||
buffer = PyString_FromStringAndSize((char *)NULL, size);
|
||||
buffer = PyBytes_FromStringAndSize((char *)NULL, size);
|
||||
if (buffer == NULL)
|
||||
return NULL;
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
n = read(fd, PyString_AsString(buffer), size);
|
||||
n = read(fd, PyBytes_AsString(buffer), size);
|
||||
Py_END_ALLOW_THREADS
|
||||
if (n < 0) {
|
||||
Py_DECREF(buffer);
|
||||
return posix_error();
|
||||
}
|
||||
if (n != size)
|
||||
_PyString_Resize(&buffer, n);
|
||||
PyBytes_Resize(buffer, n);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
|
@ -8841,5 +8842,3 @@ INITFUNC(void)
|
|||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue