234 static PyObject *
235 _librsync_deltamaker_cycle(_librsync_DeltaMakerObject *self, PyObject *args)
236 {
237 char *inbuf, outbuf[RS_JOB_BLOCKSIZE];
238 int inbuf_length;
239 rs_buffers_t buf;
240 rs_result result;
241
242 if (!PyArg_ParseTuple(args, "s#:cycle", &inbuf, &inbuf_length))
when PyArg_ParseTuple() succeeds
taking False path
243 return NULL;
244
245 buf.next_in = inbuf;
246 buf.avail_in = (size_t)inbuf_length;
247 buf.next_out = outbuf;
248 buf.avail_out = (size_t)RS_JOB_BLOCKSIZE;
249 buf.eof_in = (inbuf_length == 0);
when considering range: -0x80000000 <= value <= -1
250
251 result = rs_job_iter(self->delta_job, &buf);
252 if (result != RS_DONE && result != RS_BLOCKED) {
when taking True path
253 _librsync_seterror(result, "delta cycle");
254 return NULL;
255 }
256
257 return Py_BuildValue("(ils#)", (result == RS_DONE),
258 (long)inbuf_length - (long)buf.avail_in,
259 outbuf, RS_JOB_BLOCKSIZE - (long)buf.avail_out);
260 }
returning (PyObject*)NULL without setting an exception
found 2 similar trace(s) to this