From 79bce1671d93093f8bbe26ef09f0a556d7d6e9ff Mon Sep 17 00:00:00 2001 From: Johan Dahlin Date: Sat, 19 Jan 2008 15:29:42 +0000 Subject: Fix a silly bug so it possible to read files larger than 8192 bytes. 2008-01-19 Johan Dahlin * gio/gio.override: Fix a silly bug so it possible to read files larger than 8192 bytes. svn path=/trunk/; revision=734 --- ChangeLog | 3 +++ gio/gio.override | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index f979cdc..53c6f62 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2008-01-19 Johan Dahlin + * gio/gio.override: Fix a silly bug so it possible to read files + larger than 8192 bytes. + * gio/gio.defs: Set null-ok for all cancelable as well. * gio/__init__.py: set gio.unix to None if it's not available diff --git a/gio/gio.override b/gio/gio.override index 6cb6e5d..88b313a 100644 --- a/gio/gio.override +++ b/gio/gio.override @@ -5,6 +5,8 @@ headers #include #include +#DEFINE BUFSIZE + %% modulename gio %% @@ -86,21 +88,20 @@ _wrap_g_input_stream_read(PyGObject *self, PyObject *args, PyObject *kwargs) PyObject *v; GCancellable *cancellable; - gsize count = -1; + long count = -1; GError *error = NULL; size_t bytesread, buffersize, chunksize; if (!PyArg_ParseTupleAndKeywords(args, kwargs, - "|iO!:GInputStream.skip", + "|iO!:InputStream.read", kwlist, &count, &PyGCancellable_Type, &pycancellable)) return NULL; - buffersize = 8192; + buffersize = BUFSIZE; cancellable = pycancellable ? G_CANCELLABLE(pycancellable->obj) : NULL; - v = PyString_FromStringAndSize((char *)NULL, buffersize); if (v == NULL) return NULL; @@ -134,6 +135,7 @@ _wrap_g_input_stream_read(PyGObject *self, PyObject *args, PyObject *kwargs) if (count < 0) { + buffersize += BUFSIZE; if (_PyString_Resize(&v, buffersize) < 0) return NULL; } -- cgit