* validate.h, deprecated.h (SCM_VALIDATE_INUM, SCM_VALIDATE_INUM_COPY,
[bpt/guile.git] / libguile / goops.c
index 4650add..29a1f06 100644 (file)
@@ -1077,11 +1077,7 @@ SCM_DEFINE (scm_sys_fast_slot_ref, "%fast-slot-ref", 2, 0, 0,
   unsigned long int i;
 
   SCM_VALIDATE_INSTANCE (1, obj);
-  SCM_VALIDATE_INUM (2, index);
-  SCM_ASSERT_RANGE (2, index, SCM_INUM (index) >= 0);
-  i = SCM_INUM (index);
-  SCM_ASSERT_RANGE (2, index, i < SCM_NUMBER_OF_SLOTS (obj));
-
+  i = scm_to_unsigned_integer (index, 0, SCM_NUMBER_OF_SLOTS(obj)-1);
   return SCM_SLOT (obj, i);
 }
 #undef FUNC_NAME
@@ -1095,10 +1091,7 @@ SCM_DEFINE (scm_sys_fast_slot_set_x, "%fast-slot-set!", 3, 0, 0,
   unsigned long int i;
 
   SCM_VALIDATE_INSTANCE (1, obj);
-  SCM_VALIDATE_INUM (2, index);
-  SCM_ASSERT_RANGE (2, index, SCM_INUM (index) >= 0);
-  i = SCM_INUM (index);
-  SCM_ASSERT_RANGE (2, index, i < SCM_NUMBER_OF_SLOTS (obj));
+  i = scm_to_unsigned_integer (index, 0, SCM_NUMBER_OF_SLOTS(obj)-1);
 
   SCM_SET_SLOT (obj, i, value);