key: Fixing of expiry and deletion time properties.
[catacomb-python] / util.c
diff --git a/util.c b/util.c
index 86b7aba..166cdbb 100644 (file)
--- a/util.c
+++ b/util.c
 
 /*----- Conversions -------------------------------------------------------*/
 
-#define GETU_(n)                                                       \
-  PyObject *getu##n(uint##n w)                                         \
-  {                                                                    \
-    if (w <= MASK##n)                                                  \
-      return (PyInt_FromLong(w));                                      \
-    else                                                               \
-      return (PyLong_FromUnsignedLong(w));                             \
-  }
-DOUINTSZ(GETU_)
+PyObject *getulong(unsigned long w)
+{
+  if (w <= MASK32)
+    return (PyInt_FromLong(w));
+  else
+    return (PyLong_FromUnsignedLong(w));
+}
 
 PyObject *getbool(int b)
 {
@@ -62,7 +60,7 @@ int convulong(PyObject *o, void *pp)
 
   if (PyInt_Check(o)) {
     i = PyInt_AS_LONG(o);
-    if (i < 0) TYERR("must be nonnegative");
+    if (i < 0) VALERR("must be nonnegative");
     *p = i;
   } else {
     if ((t = PyNumber_Long(o)) == 0) goto end;
@@ -82,7 +80,7 @@ end:
     uint##n *p = pp;                                                   \
                                                                        \
     if (!convulong(o, &u)) goto end;                                   \
-    if (u > MASK##n) TYERR("out of range");                            \
+    if (u > MASK##n) VALERR("out of range");                           \
     *p = u;                                                            \
     return (1);                                                                \
   end:                                                                 \
@@ -96,7 +94,7 @@ int convuint(PyObject *o, void *pp)
   unsigned *p = pp;
 
   if (!convulong(o, &u)) goto end;
-  if (u > UINT_MAX) TYERR("out of range");
+  if (u > UINT_MAX) VALERR("out of range");
   *p = u;
   return (1);
 end:
@@ -109,7 +107,7 @@ int convmpw(PyObject *o, void *pp)
   unsigned *p = pp;
 
   if (!convulong(o, &u)) goto end;
-  if (u > MPW_MAX) TYERR("out of range");
+  if (u > MPW_MAX) VALERR("out of range");
   *p = u;
   return (1);
 end:
@@ -122,7 +120,7 @@ int convszt(PyObject *o, void *pp)
   size_t *p = pp;
 
   if (!convulong(o, &u)) goto end;
-  if (u > ~(size_t)0) TYERR("out of range");
+  if (u > ~(size_t)0) VALERR("out of range");
   *p = u;
   return (1);
 end: