370 static PyObject *
371 _librsync_patchmaker_cycle(_librsync_PatchMakerObject *self, PyObject *args)
372 {
373 char *inbuf, outbuf[RS_JOB_BLOCKSIZE];
374 int inbuf_length;
375 rs_buffers_t buf;
376 rs_result result;
377
378 if (!PyArg_ParseTuple(args, "s#:cycle", &inbuf, &inbuf_length))
when PyArg_ParseTuple() succeeds
taking False path
379 return NULL;
380
381 buf.next_in = inbuf;
382 buf.avail_in = (size_t)inbuf_length;
383 buf.next_out = outbuf;
384 buf.avail_out = (size_t)RS_JOB_BLOCKSIZE;
385 buf.eof_in = (inbuf_length == 0);
when considering range: -0x80000000 <= value <= -1
386
387 result = rs_job_iter(self->patch_job, &buf);
388 if (result != RS_DONE && result != RS_BLOCKED) {
when taking True path
389 _librsync_seterror(result, "patch cycle");
390 return NULL;
391 }
392
393 return Py_BuildValue("(ils#)", (result == RS_DONE),
394 (long)inbuf_length - (long)buf.avail_in,
395 outbuf, RS_JOB_BLOCKSIZE - (long)buf.avail_out);
396 }
returning (PyObject*)NULL without setting an exception
found 2 similar trace(s) to this