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);
}
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)
+ if ((err = key_new(KEYFILE_KF(kfobj), id, type, exptime, &k)) != 0)
KEYERR(err);
return (key_dowrap(ty, kfobj, k));
end: