if ((x = G_TOINT(GE_G(me), MP_NEW, GE_X(me))) == 0)
TYERR("can't convert to integer");
- if (mp_tolong_checked(x, &l)) goto end;
- rc = PyInt_FromLong(l);
+ if (!mp_tolong_checked(x, &l, 0)) rc = PyInt_FromLong(l);
+ else rc = mp_topylong(x);
end:
mp_drop(x);
return (rc);
gctx_prime *gg = (gctx_prime *)GROUP_G(me);
dp.p = MP_COPY(gg->mm.m);
dp.q = MP_COPY(gg->g.r);
- dp.g = mpmont_reduce(&gg->mm, MP_NEW, gg->gen);
+ dp.g = mpmont_reduce(&gg->mm, MP_NEW, gg->gen.x);
return (fginfo_pywrap(&dp, dhinfo_pytype));
}
gctx_bin *gg = (gctx_bin *)GROUP_G(me);
dp.p = MP_COPY(gg->r.p);
dp.q = MP_COPY(gg->g.r);
- dp.g = MP_COPY(gg->gen);
+ dp.g = MP_COPY(gg->gen.x);
return (fginfo_pywrap(&dp, bindhinfo_pytype));
}