mp.c: Binding for `mp_fibonacci'.
[catacomb-python] / ec.c
diff --git a/ec.c b/ec.c
index 67bbeef..21aa352 100644 (file)
--- a/ec.c
+++ b/ec.c
@@ -1,7 +1,5 @@
 /* -*-c-*-
  *
- * $Id$
- *
  * Elliptic curves
  *
  * (c) 2004 Straylight/Edgeware
@@ -233,7 +231,8 @@ end:
 static PyObject *epmeth_oncurvep(PyObject *me, PyObject *arg)
 {
   if (!PyArg_ParseTuple(arg, ":oncurvep")) return (0);
-  return (getbool(!ec_check(ECPT_C(me), ECPT_P(me))));
+  return (getbool(EC_ATINF(ECPT_P(me)) ||
+                 !EC_CHECK(ECPT_C(me), ECPT_P(me))));
 }
 
 static PyObject *epmeth_dbl(PyObject *me, PyObject *arg)
@@ -773,10 +772,10 @@ static int ecmmul_fill(void *pp, PyObject *me, PyObject *x, PyObject *m)
 {
   ec_mulfactor *f = pp;
 
+  EC_CREATE(&f->base);
   if (getecpt(ECCURVE_C(me), &f->base, x) ||
       (f->exp = getmp(m)) == 0)
     return (-1);
-  f->base = *ECPT_P(x);
   return (0);
 }
 
@@ -1528,7 +1527,7 @@ static PyObject *namedcurves(void)
     }
     c = PyInt_FromLong(i);
   found:
-    PyDict_SetItemString(d, (/*unconst*/ char *)ectab[i].name, c);
+    PyDict_SetItemString(d, (/*unconst*/ char *)p, c);
     Py_DECREF(c);
   }
   ncurves = i;