X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb-python/blobdiff_plain/f72dbe4cf57bcf84dd85b685f514b37bff3c8001..4a35c9a728df05a99eff3c335ee7ec2ddf201cff:/key.c diff --git a/key.c b/key.c index 7820f1d..2af0019 100644 --- a/key.c +++ b/key.c @@ -104,7 +104,7 @@ static PyMethodDef keyexc_pymethods[] = { static void keyexc_raise(int err) { - PyObject *arg = Py_BuildValue("(i)", err); + PyObject *arg = Py_BuildValue("(is)", err, key_strerror(err)); if (arg) PyErr_SetObject(keyexc, arg); Py_XDECREF(arg); } @@ -1385,14 +1385,14 @@ static PyObject *key_pynew(PyTypeObject *ty, PyObject *arg, PyObject *kw) PyObject *kfobj; uint32 id; char *type; - long exptime = KEXP_FOREVER; + unsigned long exptime = KEXP_FOREVER; static char *kwlist[] = { "keyfile", "id", "type", "exptime", 0 }; key *k; int err; - if (!PyArg_ParseTupleAndKeywords(arg, kw, "O!O&sl:new", kwlist, + if (!PyArg_ParseTupleAndKeywords(arg, kw, "O!O&s|O&:new", kwlist, keyfile_pytype, &kfobj, convu32, &id, - &type, &exptime)) + &type, convulong, &exptime)) goto end; if ((err = key_new(KEYFILE_KF(kfobj), id, type, exptime, &k)) != 0) KEYERR(err);