~ 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