--- a/contrib/python-zstandard/c-ext/decompressionwriter.c Thu Feb 09 21:44:32 2017 -0500
+++ b/contrib/python-zstandard/c-ext/decompressionwriter.c Tue Feb 07 23:24:47 2017 -0800
@@ -71,11 +71,12 @@
ZSTD_inBuffer input;
ZSTD_outBuffer output;
PyObject* res;
+ Py_ssize_t totalWrite = 0;
#if PY_MAJOR_VERSION >= 3
- if (!PyArg_ParseTuple(args, "y#", &source, &sourceSize)) {
+ if (!PyArg_ParseTuple(args, "y#:write", &source, &sourceSize)) {
#else
- if (!PyArg_ParseTuple(args, "s#", &source, &sourceSize)) {
+ if (!PyArg_ParseTuple(args, "s#:write", &source, &sourceSize)) {
#endif
return NULL;
}
@@ -116,15 +117,15 @@
#endif
output.dst, output.pos);
Py_XDECREF(res);
+ totalWrite += output.pos;
output.pos = 0;
}
}
PyMem_Free(output.dst);
- /* TODO return bytes written */
- Py_RETURN_NONE;
- }
+ return PyLong_FromSsize_t(totalWrite);
+}
static PyMethodDef ZstdDecompressionWriter_methods[] = {
{ "__enter__", (PyCFunction)ZstdDecompressionWriter_enter, METH_NOARGS,