80 static PyObject *
81 _librsync_sigmaker_cycle(_librsync_SigMakerObject *self, PyObject *args)
82 {
83 char *inbuf, outbuf[RS_JOB_BLOCKSIZE];
84 int inbuf_length;
85 rs_buffers_t buf;
86 rs_result result;
87
88 if (!PyArg_ParseTuple(args, "s#:cycle", &inbuf, &inbuf_length))
when PyArg_ParseTuple() succeeds
taking False path
89 return NULL;
90
91 buf.next_in = inbuf;
92 buf.avail_in = (size_t)inbuf_length;
93 buf.next_out = outbuf;
94 buf.avail_out = (size_t)RS_JOB_BLOCKSIZE;
95 buf.eof_in = (inbuf_length == 0);
when considering range: -0x80000000 <= value <= -1
96
97 result = rs_job_iter(self->sig_job, &buf);
98
99 if (result != RS_DONE && result != RS_BLOCKED) {
when taking True path
100 _librsync_seterror(result, "signature cycle");
101 return NULL;
102 }
103
104 return Py_BuildValue("(ils#)", (result == RS_DONE),
105 (long)inbuf_length - (long)buf.avail_in,
106 outbuf, RS_JOB_BLOCKSIZE - (long)buf.avail_out);
107 }
returning (PyObject*)NULL without setting an exception
found 2 similar trace(s) to this