summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2008-01-19 15:29:42 +0000
committerJohan Dahlin <johan@src.gnome.org>2008-01-19 15:29:42 +0000
commit79bce1671d93093f8bbe26ef09f0a556d7d6e9ff (patch)
tree94364846b31ddc05c81465dde01db9b3411c25e1
parent9cb228de2a54ca3f0cffa8dad9a98d1219531f70 (diff)
downloadpygobject-79bce1671d93093f8bbe26ef09f0a556d7d6e9ff.tar.gz
pygobject-79bce1671d93093f8bbe26ef09f0a556d7d6e9ff.tar.xz
pygobject-79bce1671d93093f8bbe26ef09f0a556d7d6e9ff.zip
Fix a silly bug so it possible to read files larger than 8192 bytes.
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. svn path=/trunk/; revision=734
-rw-r--r--ChangeLog3
-rw-r--r--gio/gio.override10
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 <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;
}