Make os.read() return bytes, not bytearray.

This commit is contained in:
Guido van Rossum 2007-11-21 20:17:11 +00:00
parent 82c0dfa3bd
commit f9e443c49f

View file

@ -4746,18 +4746,18 @@ posix_read(PyObject *self, PyObject *args)
errno = EINVAL; errno = EINVAL;
return posix_error(); return posix_error();
} }
buffer = PyBytes_FromStringAndSize((char *)NULL, size); buffer = PyString_FromStringAndSize((char *)NULL, size);
if (buffer == NULL) if (buffer == NULL)
return NULL; return NULL;
Py_BEGIN_ALLOW_THREADS Py_BEGIN_ALLOW_THREADS
n = read(fd, PyBytes_AsString(buffer), size); n = read(fd, PyString_AS_STRING(buffer), size);
Py_END_ALLOW_THREADS Py_END_ALLOW_THREADS
if (n < 0) { if (n < 0) {
Py_DECREF(buffer); Py_DECREF(buffer);
return posix_error(); return posix_error();
} }
if (n != size) if (n != size)
PyBytes_Resize(buffer, n); _PyString_Resize(&buffer, n);
return buffer; return buffer;
} }