X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/986bcc44188a610a4875dc63c4d63e33427edd6b..be6df1c38491ef517f2f55f2abc9c9e64ea034b0:/pgen.c diff --git a/pgen.c b/pgen.c index 24639ec..30b78ed 100644 --- a/pgen.c +++ b/pgen.c @@ -120,9 +120,8 @@ static PyObject *pfilt_pyint(PyObject *me) long l; PyObject *rc = 0; - if (mp_tolong_checked(PFILT_F(me)->m, &l)) goto end; - rc = PyInt_FromLong(l); -end: + if (!mp_tolong_checked(PFILT_F(me)->m, &l, 0)) rc = PyInt_FromLong(l); + else rc = mp_topylong(PFILT_F(me)->m); return (rc); } @@ -425,6 +424,7 @@ static int peset_x(PyObject *me, PyObject *xobj, void *hunoz) mp *x = 0; pgen_event *ev = PGEVENT_EV(me); int rc = -1; + if (!x) NIERR("__del__"); PGEVENT_CHECK(me); if ((x = getmp(xobj)) == 0) goto end; mp_drop(ev->m);