~mdw
/
catacomb-python
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Split 'pyke/' into commit 'c80de12d8d0827e0553fed2e4d392cb9bf3a378f'
[catacomb-python]
/
ec.c
diff --git
a/ec.c
b/ec.c
index
a67699e
..
459c272
100644
(file)
--- a/
ec.c
+++ b/
ec.c
@@
-251,10
+251,10
@@
static PyObject *epmeth_tobuf(PyObject *me)
else
n = mp_octets(p.x) + mp_octets(p.y) + 6;
rc = bytestring_pywrap(0, n);
else
n = mp_octets(p.x) + mp_octets(p.y) + 6;
rc = bytestring_pywrap(0, n);
- buf_init(&b,
PyString_AS_STRING
(rc), n);
+ buf_init(&b,
BIN_PTR
(rc), n);
buf_putec(&b, &p);
assert(BOK(&b));
buf_putec(&b, &p);
assert(BOK(&b));
-
_PyString_Resize(&
rc, BLEN(&b));
+
BIN_SETLEN(
rc, BLEN(&b));
EC_DESTROY(&p);
return (rc);
}
EC_DESTROY(&p);
return (rc);
}
@@
-270,12
+270,12
@@
static PyObject *epmeth_toraw(PyObject *me)
len = c->f->noctets * 2 + 1;
rc = bytestring_pywrap(0, len);
len = c->f->noctets * 2 + 1;
rc = bytestring_pywrap(0, len);
- p =
PyString_AS_STRING
(rc);
+ p =
BIN_PTR
(rc);
buf_init(&b, p, len);
EC_OUT(c, &pp, ECPT_P(me));
ec_putraw(c, &b, &pp);
EC_DESTROY(&pp);
buf_init(&b, p, len);
EC_OUT(c, &pp, ECPT_P(me));
ec_putraw(c, &b, &pp);
EC_DESTROY(&pp);
-
_PyString_Resize(&
rc, BLEN(&b));
+
BIN_SETLEN(
rc, BLEN(&b));
return (rc);
}
return (rc);
}
@@
-295,7
+295,7
@@
static PyObject *epmeth_ec2osp(PyObject *me, PyObject *arg, PyObject *kw)
return (0);
len = c->f->noctets * 2 + 1;
rc = bytestring_pywrap(0, len);
return (0);
len = c->f->noctets * 2 + 1;
rc = bytestring_pywrap(0, len);
- p =
PyString_AS_STRING
(rc);
+ p =
BIN_PTR
(rc);
buf_init(&b, p, len);
EC_OUT(c, &pp, ECPT_P(me));
if (ec_ec2osp(c, f, &b, &pp)) {
buf_init(&b, p, len);
EC_OUT(c, &pp, ECPT_P(me));
if (ec_ec2osp(c, f, &b, &pp)) {
@@
-303,7
+303,7
@@
static PyObject *epmeth_ec2osp(PyObject *me, PyObject *arg, PyObject *kw)
VALERR("invalid flags");
}
EC_DESTROY(&pp);
VALERR("invalid flags");
}
EC_DESTROY(&pp);
-
_PyString_Resize(&
rc, BLEN(&b));
+
BIN_SETLEN(
rc, BLEN(&b));
end:
return (rc);
}
end:
return (rc);
}
@@
-516,8
+516,8
@@
static int ecptxl_1(ec_curve *c, ec *p, PyObject *x)
else if (ECPT_PYCHECK(x)) {
getecptout(p, x);
goto fix;
else if (ECPT_PYCHECK(x)) {
getecptout(p, x);
goto fix;
- } else if (
PyString_Check
(x)) {
- qd.p =
PyString_AS_STRING
(x);
+ } else if (
TEXT_CHECK
(x)) {
+ qd.p =
TEXT_PTR
(x);
qd.e = 0;
if (!ec_ptparse(&qd, p))
VALERR(qd.e);
qd.e = 0;
if (!ec_ptparse(&qd, p))
VALERR(qd.e);
@@
-589,6
+589,7
@@
end:
return (rc);
}
return (rc);
}
+#ifdef PY2
static PyObject *ecpt_pylong(PyObject *me)
{
ec p = EC_INIT;
static PyObject *ecpt_pylong(PyObject *me)
{
ec p = EC_INIT;
@@
-600,6
+601,7
@@
end:
EC_DESTROY(&p);
return (rc);
}
EC_DESTROY(&p);
return (rc);
}
+#endif
static PyObject *ecpt_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw)
{
static PyObject *ecpt_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw)
{
@@
-639,7
+641,9
@@
static const PyNumberMethods ecpt_pynumber = {
0, /* @nb_add@ */
0, /* @nb_subtract@ */
0, /* @nb_multiply@ */
0, /* @nb_add@ */
0, /* @nb_subtract@ */
0, /* @nb_multiply@ */
+#ifdef PY2
0, /* @nb_divide@ */
0, /* @nb_divide@ */
+#endif
0, /* @nb_remainder@ */
0, /* @nb_divmod@ */
0, /* @nb_power@ */
0, /* @nb_remainder@ */
0, /* @nb_divmod@ */
0, /* @nb_power@ */
@@
-653,17
+657,23
@@
static const PyNumberMethods ecpt_pynumber = {
0, /* @nb_and@ */
0, /* @nb_xor@ */
0, /* @nb_or@ */
0, /* @nb_and@ */
0, /* @nb_xor@ */
0, /* @nb_or@ */
+#ifdef PY2
0, /* @nb_coerce@ */
0, /* @nb_coerce@ */
+#endif
ecpt_pyint, /* @nb_int@ */
ecpt_pyint, /* @nb_int@ */
-
ecpt_pylong,
/* @nb_long@ */
+
PY23(ecpt_pylong, 0),
/* @nb_long@ */
0, /* @nb_float@ */
0, /* @nb_float@ */
+#ifdef PY2
0, /* @nb_oct@ */
0, /* @nb_hex@ */
0, /* @nb_oct@ */
0, /* @nb_hex@ */
+#endif
0, /* @nb_inplace_add@ */
0, /* @nb_inplace_subtract@ */
0, /* @nb_inplace_multiply@ */
0, /* @nb_inplace_add@ */
0, /* @nb_inplace_subtract@ */
0, /* @nb_inplace_multiply@ */
+#ifdef PY2
0, /* @nb_inplace_divide@ */
0, /* @nb_inplace_divide@ */
+#endif
0, /* @nb_inplace_remainder@ */
0, /* @nb_inplace_power@ */
0, /* @nb_inplace_lshift@ */
0, /* @nb_inplace_remainder@ */
0, /* @nb_inplace_power@ */
0, /* @nb_inplace_lshift@ */
@@
-731,7
+741,7
@@
static const PyTypeObject ecpt_pytype_skel = {
static const PyMemberDef ecpt_pymembers[] = {
#define MEMBERSTRUCT ecpt_pyobj
static const PyMemberDef ecpt_pymembers[] = {
#define MEMBERSTRUCT ecpt_pyobj
- MEMRNM(curve, T_OBJECT,
ob_type
, READONLY,
+ MEMRNM(curve, T_OBJECT,
PY23(ob_type, ob_base.ob_type)
, READONLY,
"P.curve -> elliptic curve containing P")
#undef MEMBERSTRUCT
{ 0 }
"P.curve -> elliptic curve containing P")
#undef MEMBERSTRUCT
{ 0 }
@@
-765,7
+775,9
@@
static const PyNumberMethods ecptcurve_pynumber = {
ecpt_pyadd, /* @nb_add@ */
ecpt_pysub, /* @nb_subtract@ */
ecpt_pymul, /* @nb_multiply@ */
ecpt_pyadd, /* @nb_add@ */
ecpt_pysub, /* @nb_subtract@ */
ecpt_pymul, /* @nb_multiply@ */
+#ifdef PY2
0, /* @nb_divide@ */
0, /* @nb_divide@ */
+#endif
0, /* @nb_remainder@ */
0, /* @nb_divmod@ */
0, /* @nb_power@ */
0, /* @nb_remainder@ */
0, /* @nb_divmod@ */
0, /* @nb_power@ */
@@
-779,12
+791,16
@@
static const PyNumberMethods ecptcurve_pynumber = {
0, /* @nb_and@ */
0, /* @nb_xor@ */
0, /* @nb_or@ */
0, /* @nb_and@ */
0, /* @nb_xor@ */
0, /* @nb_or@ */
+#ifdef PY2
0, /* @nb_coerce@ */
0, /* @nb_coerce@ */
+#endif
0, /* @nb_int@ */
0, /* @nb_long@ */
0, /* @nb_float@ */
0, /* @nb_int@ */
0, /* @nb_long@ */
0, /* @nb_float@ */
+#ifdef PY2
0, /* @nb_oct@ */
0, /* @nb_hex@ */
0, /* @nb_oct@ */
0, /* @nb_hex@ */
+#endif
0, /* @nb_inplace_add@ */
0, /* @nb_inplace_subtract@ */
0, /* @nb_inplace_add@ */
0, /* @nb_inplace_subtract@ */
@@
-1028,7
+1044,7
@@
end:
}
static PyObject *ecget_name(PyObject *me, void *hunoz)
}
static PyObject *ecget_name(PyObject *me, void *hunoz)
- { return (
PyString_FromString
(EC_NAME(ECCURVE_C(me)))); }
+ { return (
TEXT_FROMSTR
(EC_NAME(ECCURVE_C(me)))); }
static PyObject *ecget_a(PyObject *me, void *hunoz)
{ return (fe_pywrap(ECCURVE_FOBJ(me), MP_COPY(ECCURVE_C(me)->a))); }
static PyObject *ecget_a(PyObject *me, void *hunoz)
{ return (fe_pywrap(ECCURVE_FOBJ(me), MP_COPY(ECCURVE_C(me)->a))); }
@@
-1147,7
+1163,7
@@
static const PyTypeObject ecprimecurve_pytype_skel = {
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
-
eccurve_pyrichcompare,
/* @tp_richcompare@ */
+
0,
/* @tp_richcompare@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
@@
-1202,7
+1218,7
@@
static const PyTypeObject ecprimeprojcurve_pytype_skel = {
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
-
eccurve_pyrichcompare,
/* @tp_richcompare@ */
+
0,
/* @tp_richcompare@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
@@
-1257,7
+1273,7
@@
static const PyTypeObject ecbincurve_pytype_skel = {
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
-
eccurve_pyrichcompare,
/* @tp_richcompare@ */
+
0,
/* @tp_richcompare@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
@@
-1312,7
+1328,7
@@
static const PyTypeObject ecbinprojcurve_pytype_skel = {
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
0, /* @tp_traverse@ */
0, /* @tp_clear@ */
-
eccurve_pyrichcompare,
/* @tp_richcompare@ */
+
0,
/* @tp_richcompare@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */
0, /* @tp_weaklistoffset@ */
0, /* @tp_iter@ */
0, /* @tp_iternext@ */