- if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", kwlist, &p, &n))
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "s#:new", KWLIST, &p, &n))
{ assert(seg == 0); *q = BCUR(BUF_B(me)); return (BLEFT(BUF_B(me))); }
static PyObject *rbmeth_skip(PyObject *me, PyObject *arg)
{ assert(seg == 0); *q = BCUR(BUF_B(me)); return (BLEFT(BUF_B(me))); }
static PyObject *rbmeth_skip(PyObject *me, PyObject *arg)
uint##n x; \
if (!PyArg_ParseTuple(arg, ":getu" #w)) goto end; \
if (buf_getu##w(BUF_B(me), &x)) BUFERR(); \
uint##n x; \
if (!PyArg_ParseTuple(arg, ":getu" #w)) goto end; \
if (buf_getu##w(BUF_B(me), &x)) BUFERR(); \
static PyObject *rbmeth_getecpt(PyObject *me, PyObject *arg, PyObject *kw)
{
PyObject *cobj = Py_None;
static PyObject *rbmeth_getecpt(PyObject *me, PyObject *arg, PyObject *kw)
{
PyObject *cobj = Py_None;
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "|O:getecpt", kwlist, &cobj))
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "|O:getecpt", KWLIST, &cobj))
METH(getu##w, "RBUF.getu" #w "() -> INT")
DOUINTCONV(RBMETH_DECL_GETU_)
#define RBMETH_DECL_GETBLK_(n, W, w) \
METH(getu##w, "RBUF.getu" #w "() -> INT")
DOUINTCONV(RBMETH_DECL_GETU_)
#define RBMETH_DECL_GETBLK_(n, W, w) \
BUF_DOSUFFIXES(RBMETH_DECL_GETBLK_)
#define RBMETH_DECL_GETBUF_(n, W, w) \
BUF_DOSUFFIXES(RBMETH_DECL_GETBLK_)
#define RBMETH_DECL_GETBUF_(n, W, w) \
BUF_DOSUFFIXES(RBMETH_DECL_GETBUF_)
METH (getmp, "RBUF.getmp() -> X")
METH (getgf, "RBUF.getgf() -> X")
BUF_DOSUFFIXES(RBMETH_DECL_GETBUF_)
METH (getmp, "RBUF.getmp() -> X")
METH (getgf, "RBUF.getgf() -> X")
METH (getecptraw, "RBUF.getecptraw(CURVE) -> P")
METH (getge, "RBUF.getge(GROUP) -> X")
METH (getgeraw, "RBUF.getgeraw(GROUP) -> X")
METH (getecptraw, "RBUF.getecptraw(CURVE) -> P")
METH (getge, "RBUF.getge(GROUP) -> X")
METH (getgeraw, "RBUF.getgeraw(GROUP) -> X")
static PyTypeObject rbuf_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */
static PyTypeObject rbuf_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */
- if (!PyArg_ParseTupleAndKeywords(arg, kw, "|O&:new", kwlist,
+ if (!PyArg_ParseTupleAndKeywords(arg, kw, "|O&:new", KWLIST,
{ assert(seg == 0); *q = BBASE(BUF_B(me)); return (BLEN(BUF_B(me))); }
static PyObject *wbmeth_zero(PyObject *me, PyObject *arg)
{ assert(seg == 0); *q = BBASE(BUF_B(me)); return (BLEN(BUF_B(me))); }
static PyObject *wbmeth_zero(PyObject *me, PyObject *arg)
if (!PyArg_ParseTuple(arg, "s#:put", &p, &n)) return (0);
ensure(me, n);
if (!PyArg_ParseTuple(arg, "s#:put", &p, &n)) return (0);
ensure(me, n);
#define SZ_z 1
#define WBMETH_PUTBLK_(n, W, w) \
static PyObject *wbmeth_putblk##w(PyObject *me, PyObject *arg) \
{ \
char *p; \
#define SZ_z 1
#define WBMETH_PUTBLK_(n, W, w) \
static PyObject *wbmeth_putblk##w(PyObject *me, PyObject *arg) \
{ \
char *p; \
- int sz; \
- if (!PyArg_ParseTuple(arg, "s#:putblk" #w, &p, &sz)) return (0); \
+ Py_ssize_t sz; \
+ if (!PyArg_ParseTuple(arg, "s#:putblk" #w, &p, &sz)) goto end; \
+ if (MASK##W && sz > MASK##W) VALERR("too large"); \
ensure(me, sz + SZ_##n); \
buf_putmem##w(BUF_B(me), p, sz); assert(BOK(BUF_B(me))); \
RETURN_ME; \
ensure(me, sz + SZ_##n); \
buf_putmem##w(BUF_B(me), p, sz); assert(BOK(BUF_B(me))); \
RETURN_ME; \
{
ec pt = EC_INIT;
if (!PyArg_ParseTuple(arg, "O&:putecpt", convecpt, &pt)) return (0);
{
ec pt = EC_INIT;
if (!PyArg_ParseTuple(arg, "O&:putecpt", convecpt, &pt)) return (0);
- if (EC_ATINF(&pt)) ensure(me, 2);
- else ensure(me, 4 + mp_octets(pt.x) + mp_octets(pt.y));
+ ensure(me, EC_ATINF(&pt) ? 2 : 6 + mp_octets(pt.x) + mp_octets(pt.y));
static PyObject *wbget_size(PyObject *me, void *hunoz)
{ return (PyInt_FromLong(BLEN(BUF_B(me)))); }
static PyObject *wbget_size(PyObject *me, void *hunoz)
{ return (PyInt_FromLong(BLEN(BUF_B(me)))); }
static PyGetSetDef wbuf_pygetset[] = {
#define GETSETNAME(op, name) wb##op##_##name
GET (size, "WBUF.size -> SIZE")
static PyGetSetDef wbuf_pygetset[] = {
#define GETSETNAME(op, name) wb##op##_##name
GET (size, "WBUF.size -> SIZE")
BUF_DOSUFFIXES(WBMETH_DECL_PUTBLK_)
METH (putmp, "WBUF.putmp(X)")
METH (putgf, "WBUF.putgf(X)")
BUF_DOSUFFIXES(WBMETH_DECL_PUTBLK_)
METH (putmp, "WBUF.putmp(X)")
METH (putgf, "WBUF.putgf(X)")
METH (putecptraw, "WBUF.putecptraw(P)")
METH (putge, "WBUF.putge(X)")
METH (putgeraw, "WBUF.putgeraw(X)")
METH (putecptraw, "WBUF.putecptraw(P)")
METH (putge, "WBUF.putge(X)")
METH (putgeraw, "WBUF.putgeraw(X)")
static PyTypeObject wbuf_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */
static PyTypeObject wbuf_pytype_skel = {
PyObject_HEAD_INIT(0) 0, /* Header */