[Python-checkins] r55973 - python/branches/cpy_merge/Modules/_bytes_iomodule.c python/branches/cpy_merge/Modules/_string_iomodule.c
alexandre.vassalotti
python-checkins at python.org
Thu Jun 14 22:26:10 CEST 2007
Author: alexandre.vassalotti
Date: Thu Jun 14 22:26:06 2007
New Revision: 55973
Modified:
python/branches/cpy_merge/Modules/_bytes_iomodule.c
python/branches/cpy_merge/Modules/_string_iomodule.c
Log:
Change the write method to return the number of bytes/characters written.
Modified: python/branches/cpy_merge/Modules/_bytes_iomodule.c
==============================================================================
--- python/branches/cpy_merge/Modules/_bytes_iomodule.c (original)
+++ python/branches/cpy_merge/Modules/_bytes_iomodule.c Thu Jun 14 22:26:06 2007
@@ -337,7 +337,7 @@
bytes_io_write(BytesIOObject *self, PyObject *args)
{
const char *bytes;
- Py_ssize_t n;
+ Py_ssize_t len, n;
if (self->buf == NULL)
return err_closed();
@@ -345,10 +345,11 @@
if (!PyArg_ParseTuple(args, "t#:write", &bytes, &n))
return NULL;
- if (write_bytes(self, bytes, n) == -1)
+ len = write_bytes(self, bytes, n);
+ if (len == -1)
return NULL;
- Py_RETURN_NONE;
+ return PyInt_FromSsize_t(len);
}
static PyObject *
@@ -508,7 +509,9 @@
"Returns the new absolute position.");
PyDoc_STRVAR(BytesIO_write_doc,
-"write(str) -> None. Write string str to file.");
+"write(str) -> int. Write string str to file.\n"
+"\n"
+"Return the number of bytes written.");
PyDoc_STRVAR(BytesIO_writelines_doc,
"writelines(sequence_of_strings) -> None. Write the strings to the file.\n"
Modified: python/branches/cpy_merge/Modules/_string_iomodule.c
==============================================================================
--- python/branches/cpy_merge/Modules/_string_iomodule.c (original)
+++ python/branches/cpy_merge/Modules/_string_iomodule.c Thu Jun 14 22:26:06 2007
@@ -340,7 +340,7 @@
string_io_write(StringIOObject *self, PyObject *args)
{
const Py_UNICODE *ustr;
- Py_ssize_t n;
+ Py_ssize_t len, n;
if (self->buf == NULL)
return err_closed();
@@ -350,10 +350,11 @@
" unicode strings", &ustr, &n))
return NULL;
- if (write_str(self, ustr, n) == -1)
+ len = write_str(self, ustr, n);
+ if (len == -1)
return NULL;
- Py_RETURN_NONE;
+ return PyInt_FromSsize_t(len);
}
static PyObject *
@@ -518,7 +519,9 @@
"Returns the new absolute position.");
PyDoc_STRVAR(StringIO_write_doc,
-"write(str) -> None. Write string str to file.");
+"write(str) -> int. Write string str to file.\n"
+"\n"
+"Return the number of characters written.");
PyDoc_STRVAR(StringIO_writelines_doc,
"writelines(sequence_of_strings) -> None. Write the strings to the file.\n"
More information about the Python-checkins
mailing list