diff options
| -rw-r--r-- | ChangeLog | 3 | ||||
| -rw-r--r-- | gio/gio.override | 10 |
2 files changed, 9 insertions, 4 deletions
@@ -1,5 +1,8 @@ 2008-01-19 Johan Dahlin <johan@gnome.org> + * 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 <pygobject.h> #include <gio/gio.h> +#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; } |
