chiark / gitweb /
Further fixing to use `Py_ssize_t' in place of int.
[catacomb-python] / key.c
diff --git a/key.c b/key.c
index 7deb3825e71deda4b2a4f307ef218a4d491042e0..6a601c951ea15b1ad3e24edab992fd2ca213bcda 100644 (file)
--- 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);
 }
@@ -483,7 +483,7 @@ static PyGetSetDef keydata_pygetset[] = {
 
 static PyTypeObject keydata_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyData",                  /* @tp_name@ */
+  "KeyData",                           /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -560,7 +560,7 @@ static PyGetSetDef keydatabin_pygetset[] = {
 
 static PyTypeObject keydatabin_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyDataBinary",            /* @tp_name@ */
+  "KeyDataBinary",                     /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -697,7 +697,7 @@ static PyGetSetDef keydataenc_pygetset[] = {
 
 static PyTypeObject keydataenc_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyDataEncrypted",         /* @tp_name@ */
+  "KeyDataEncrypted",                  /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -773,7 +773,7 @@ static PyGetSetDef keydatamp_pygetset[] = {
 
 static PyTypeObject keydatamp_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyDataMP",                        /* @tp_name@ */
+  "KeyDataMP",                         /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -848,7 +848,7 @@ static PyGetSetDef keydatastr_pygetset[] = {
 
 static PyTypeObject keydatastr_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyDataString",            /* @tp_name@ */
+  "KeyDataString",                     /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -928,7 +928,7 @@ static PyGetSetDef keydataec_pygetset[] = {
 
 static PyTypeObject keydataec_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyDataECPt",              /* @tp_name@ */
+  "KeyDataECPt",                       /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -999,7 +999,7 @@ static void subkeyiter_pydealloc(PyObject *me)
 
 static PyTypeObject subkeyiter_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.SubKeyIter",               /* @tp_name@ */
+  "SubKeyIter",                                /* @tp_name@ */
   sizeof(subkeyiter_pyobj),            /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -1134,7 +1134,7 @@ static PyMappingMethods keydatastruct_pymapping = {
 
 static PyTypeObject keydatastruct_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyDataStructured",                /* @tp_name@ */
+  "KeyDataStructured",                 /* @tp_name@ */
   sizeof(keydata_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -1210,7 +1210,7 @@ static void keyattriter_pydealloc(PyObject *me)
 
 static PyTypeObject keyattriter_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyAttributeIter",         /* @tp_name@ */
+  "KeyAttributeIter",                  /* @tp_name@ */
   sizeof(keyattriter_pyobj),           /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -1320,7 +1320,7 @@ static PyMappingMethods keyattrs_pymapping = {
 
 static PyTypeObject keyattrs_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyAttributes",            /* @tp_name@ */
+  "KeyAttributes",                     /* @tp_name@ */
   sizeof(keyattrs_pyobj),              /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -1385,16 +1385,16 @@ 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)
+  if ((err = key_new(KEYFILE_KF(kfobj), id, type, exptime, &k)) != 0)
     KEYERR(err);
   return (key_dowrap(ty, kfobj, k));
 end:
@@ -1622,7 +1622,7 @@ static PyGetSetDef key_pygetset[] = {
 
 static PyTypeObject key_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.Key",                      /* @tp_name@ */
+  "Key",                               /* @tp_name@ */
   sizeof(key_pyobj),                   /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -1696,7 +1696,7 @@ static void keyiter_pydealloc(PyObject *me)
 
 static PyTypeObject keyiter_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyFileIter",              /* @tp_name@ */
+  "KeyFileIter",                       /* @tp_name@ */
   sizeof(keyiter_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */
 
@@ -2017,7 +2017,7 @@ static PyMappingMethods keyfile_pymapping = {
 
 static PyTypeObject keyfile_pytype_skel = {
   PyObject_HEAD_INIT(0) 0,             /* Header */
-  "catacomb.KeyFile",                  /* @tp_name@ */
+  "KeyFile",                           /* @tp_name@ */
   sizeof(keyfile_pyobj),               /* @tp_basicsize@ */
   0,                                   /* @tp_itemsize@ */