Add SCM_VALIDATE_SIZE_COPY and SCM_NUM2SIZE.
authorMark H Weaver <mhw@netris.org>
Wed, 12 Nov 2014 05:19:10 +0000 (00:19 -0500)
committerMark H Weaver <mhw@netris.org>
Wed, 12 Nov 2014 05:19:10 +0000 (00:19 -0500)
* libguile/validate.h (SCM_VALIDATE_SIZE_COPY, SCM_NUM2SIZE): New
  macros.

libguile/validate.h

index 0bdc057..3b587cc 100644 (file)
@@ -92,6 +92,8 @@
 #define SCM_NUM2ULONG_LONG_DEF(pos, arg, def) \
   (SCM_UNBNDP (arg) ? def : scm_to_ulong_long (arg))
 
+#define SCM_NUM2SIZE(pos, arg) (scm_to_size_t (arg))
+
 #define SCM_NUM2FLOAT(pos, arg) ((float) scm_to_double (arg))
 
 #define SCM_NUM2DOUBLE(pos, arg) (scm_to_double (arg))
     cvar = SCM_NUM2LONG (pos, k); \
   } while (0)
 
+#define SCM_VALIDATE_SIZE_COPY(pos, k, cvar) \
+  do { \
+    cvar = SCM_NUM2SIZE (pos, k);              \
+  } while (0)
+
 #define SCM_VALIDATE_FLOAT_COPY(pos, k, cvar) \
   do { \
     cvar = SCM_NUM2FLOAT (pos, k); \