diff options
Diffstat (limited to 'libguile/goops.c')
-rw-r--r-- | libguile/goops.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/libguile/goops.c b/libguile/goops.c index 4650add54..29a1f06ea 100644 --- a/libguile/goops.c +++ b/libguile/goops.c @@ -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); |