~ chicken-core (chicken-5) c57ddf95b2692bf22a9450d9bc02a609b905b076


commit c57ddf95b2692bf22a9450d9bc02a609b905b076
Author:     felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Jul 21 11:53:30 2010 +0200
Commit:     felix <felix@call-with-current-continuation.org>
CommitDate: Wed Jul 21 11:53:30 2010 +0200

    srfi-4 fixes by Kon Lovett

diff --git a/srfi-4.scm b/srfi-4.scm
index 818225ce..4d73fd0a 100644
--- a/srfi-4.scm
+++ b/srfi-4.scm
@@ -130,8 +130,8 @@ EOF
 (define (u32vector-set! x i y)
   (##sys#check-structure x 'u32vector 'u32vector-set!)
   (let ((len (##core#inline "C_u_i_32vector_length" x)))
-    (##sys#check-exact y 'u32vector-set!)
-    (cond ((fx< y 0)
+    (##sys#check-integer y 'u32vector-set!)
+    (cond ((negative? y 0)
 	   (##sys#error 'u32vector-set! "argument may not be negative" y) )
 	  ((not (##sys#fits-in-unsigned-int? y))
 	   (##sys#error 'u32vector-set! "argument exceeds integer range" y) ) )
@@ -141,7 +141,7 @@ EOF
 (define (s32vector-set! x i y)
   (##sys#check-structure x 's32vector 's32vector-set!)
   (let ((len (##core#inline "C_u_i_32vector_length" x)))
-    (##sys#check-exact y 's32vector-set!)
+    (##sys#check-integer y 's32vector-set!)
     (unless (##sys#fits-in-int? y)
       (##sys#error 's32vector-set! "argument exceeds integer range" y) )
     (check-range i 0 len 's32vector-set!)
Trap